API Base URL
https://api.daxko.com
Download API Definition

Branches

The Branches API allows developers to retrieve information about an association's locations.

Get list of branches

/v3/branches/
Description

Retrieves all branches for the association

Responses
HTTP 200 OK
branches
array<object>
optional
id
string
optional

The ID of the branch.

Example: B42
name
string
optional

The name of the branch.

Example: Downtown Branch
address1
string
optional

The branch's address.

Example: 123 Main Street
address2
string
optional

The branch's secondary address, if available.

Example: Suite 600
city
string
optional

The branch's city.

Example: Birmingham
state
string
optional

The branch's state.

Example: AL
zip_code
string
optional

The branch's postal code.

Example: 35209
country
string
optional

The branch's country

Example: USA
show_online
bool
optional

Whether the branch is configured to show to members online.

Example: true
branch_code
string
optional

A unique identifier for branch created by the client.

Example: MW1
phone
string
optional

The phone number of the branch.

Example: (205) 658-8956
branch_hours
object
optional

The branch's configured branch hours

branch_hours_configured
bool

Whether the branch hours are configured.

branch_availability_status
object

Whether the branch is open or closed and when that status will change.

schedule
array
optional

List of Open and Close times per day of the week for the branch.

exceptions
array
optional

List of Branch Hours exceptions and their availability

{
  "branches": [
    {
      "id": "B1",
      "name": "Branch 1",
      "address1": "1234 Branch Lane",
      "address2": "",
      "city": "Homewood",
      "state": "AL",
      "zip_code": "35173",
      "country": "US",
      "show_online": true,
      "branch_code": "MW1",
      "phone": "(205) 985-6589",
      "branch_hours": {
        "branch_hours_configured": true,
        "branch_availability_status": {
          "status": "closed",
          "until_date_time": "2023-08-17T16:00:00.0000000"
        },
        "schedule": [
          {
            "day": "Sunday",
            "open_and_close": [
              {
                "open_time": "12:00:00",
                "close_time": "18:00:00"
              }
            ]
          },
          {
            "day": "Monday",
            "open_and_close": [
              {
                "open_time": "05:00:00",
                "close_time": "22:00:00"
              }
            ]
          },
          {
            "day": "Tuesday",
            "open_and_close": [
              {
                "open_time": "05:00:00",
                "close_time": "22:00:00"
              }
            ]
          },
          {
            "day": "Wednesday",
            "open_and_close": [
              {
                "open_time": "05:00:00",
                "close_time": "22:00:00"
              }
            ]
          },
          {
            "day": "Thursday",
            "open_and_close": [
              {
                "open_time": "05:00:00",
                "close_time": "22:00:00"
              }
            ]
          },
          {
            "day": "Friday",
            "open_and_close": []
          },
          {
            "day": "Saturday",
            "open_and_close": [
              {
                "open_time": "09:00:00",
                "close_time": "12:00:00"
              },
              {
                "open_time": "16:00:00",
                "close_time": "21:00:00"
              }
            ]
          }
        ],
        "exceptions": [
          {
            "start_date_time": "2023-08-17T15:00:00.0000000",
            "end_date_time": "2023-08-17T16:00:00.0000000",
            "available": false
          },
          {
            "start_date_time": "2023-08-20T14:00:00.0000000",
            "end_date_time": "2023-08-20T15:00:00.0000000",
            "available": false
          },
          {
            "start_date_time": "2023-08-20T18:00:00.0000000",
            "end_date_time": "2023-08-20T20:00:00.0000000",
            "available": true
          }
        ]
      }
    },
    {
      "id": "B2",
      "name": "Branch 2",
      "address1": "45678 Branch Lane",
      "address2": "",
      "city": "Trussville",
      "state": "AL",
      "zip_code": "12345",
      "country": "US",
      "show_online": false,
      "branch_code": "MW2",
      "phone": "(205) 123-4567",
      "branch_hours": {
        "branch_hours_configured": true,
        "branch_availability_status": {
          "status": "open",
          "until_date_time": "2023-08-17T17:00:00.0000000"
        },
        "schedule": [
          {
            "day": "Sunday",
            "open_and_close": [
              {
                "open_time": "05:00:00",
                "close_time": "21:00:00"
              }
            ]
          },
          {
            "day": "Monday",
            "open_and_close": []
          },
          {
            "day": "Tuesday",
            "open_and_close": []
          },
          {
            "day": "Wednesday",
            "open_and_close": []
          },
          {
            "day": "Thursday",
            "open_and_close": []
          },
          {
            "day": "Friday",
            "open_and_close": []
          },
          {
            "day": "Saturday",
            "open_and_close": []
          }
        ],
        "exceptions": [
          {
            "start_date_time": "2023-08-17T15:00:00.0000000",
            "end_date_time": "2023-08-17T17:00:00.0000000",
            "available": true
          },
          {
            "start_date_time": "2023-08-19T18:00:00.0000000",
            "end_date_time": "2023-08-19T21:00:00.0000000",
            "available": true
          }
        ]
      }
    },
    "..."
  ]
}

Get branch details

/v3/branches/{branch_id}
Description

Returns details about an association's specific branch

Path Parameters
branch_id
string

The ID of the branch.

Example: B42
Responses
HTTP 200 OK
id
string
optional

The ID of the branch.

Example: B42
name
string
optional

The name of the branch.

Example: Downtown Branch
address1
string
optional

The branch's address.

Example: 123 Main Street
address2
string
optional

The branch's secondary address, if available.

Example: Suite 600
city
string
optional

The branch's city.

Example: Birmingham
state
string
optional

The branch's state.

Example: AL
zip_code
string
optional

The branch's postal code.

Example: 35209
country
string
optional

The branch's country

Example: USA
show_online
bool
optional

Whether the branch is configured to show to members online.

Example: true
branch_code
string
optional

A unique identifier for branch created by the client.

Example: MW1
phone
string
optional

The phone number of the branch.

Example: (205) 658-8956
branch_hours
object
optional

The branch's configured branch hours

branch_hours_configured
bool

Whether the branch hours are configured.

branch_availability_status
object

Whether the branch is open or closed and when that status will change.

schedule
array
optional

List of Open and Close times per day of the week for the branch.

exceptions
array
optional

List of Branch Hours exceptions and their availability

{
  "id": "B1",
  "name": "Branch 1",
  "address1": "1234 Branch Lane",
  "address2": "",
  "city": "Homewood",
  "state": "AL",
  "zip_code": "35173",
  "country": "US",
  "show_online": true,
  "branch_code": "MW1",
  "phone": "(205) 123-4567",
  "branch_hours": {
    "branch_hours_configured": true,
    "branch_availability_status": {
      "status": "closed",
      "until_date_time": "2023-08-17T16:00:00.0000000"
    },
    "schedule": [
      {
        "day": "Sunday",
        "open_and_close": [
          {
            "open_time": "12:00:00",
            "close_time": "18:00:00"
          }
        ]
      },
      {
        "day": "Monday",
        "open_and_close": [
          {
            "open_time": "05:00:00",
            "close_time": "22:00:00"
          }
        ]
      },
      {
        "day": "Tuesday",
        "open_and_close": [
          {
            "open_time": "05:00:00",
            "close_time": "22:00:00"
          }
        ]
      },
      {
        "day": "Wednesday",
        "open_and_close": [
          {
            "open_time": "05:00:00",
            "close_time": "22:00:00"
          }
        ]
      },
      {
        "day": "Thursday",
        "open_and_close": [
          {
            "open_time": "05:00:00",
            "close_time": "22:00:00"
          }
        ]
      },
      {
        "day": "Friday",
        "open_and_close": []
      },
      {
        "day": "Saturday",
        "open_and_close": [
          {
            "open_time": "09:00:00",
            "close_time": "12:00:00"
          },
          {
            "open_time": "16:00:00",
            "close_time": "21:00:00"
          }
        ]
      }
    ],
    "exceptions": [
      {
        "start_date_time": "2023-08-17T15:00:00.0000000",
        "end_date_time": "2023-08-17T16:00:00.0000000",
        "available": false
      },
      {
        "start_date_time": "2023-08-20T14:00:00.0000000",
        "end_date_time": "2023-08-20T15:00:00.0000000",
        "available": false
      },
      {
        "start_date_time": "2023-08-20T18:00:00.0000000",
        "end_date_time": "2023-08-20T20:00:00.0000000",
        "available": true
      }
    ]
  }
}

Get branch areas

/v3/branches/{branch_id}/areas
Description

Retrieves a list of all areas in a branch. Please note that a virtual branch cannot have areas and are thus excluded from this endpoint.

Path Parameters
branch_id
string

The ID of the branch.

Example: B12
Responses
HTTP 200 OK
total
number
optional

The total number of areas in the branch.

Example: 1
areas
array<object>
optional

A list of areas in the branch.

id
string
optional

The ID of the area.

Example: A14
name
string
optional

The name of the area.

Example: Area_1
is_childwatch
boolean
optional

Whether the area provides child-watch.

Example: true
age_restriction
boolean
optional

Whether the area has an age restriction.

Example: true
age_from
number
optional

The youngest a member can be to be allowed in the area.

Example: 8
age_to
number
optional

The oldest a member can be to be allowed in the area.

Example: 14
enforce_capacity
boolean
optional

Whether the capacity-tracking feature is enabled for the area.

Example: false
capacity
number
optional

The maximum capacity of the area.

Example: 70
is_active
boolean
optional

Whether the area is active.

Example: true
is_checkout_allowed
boolean
optional

Whether the checkout feature is enabled.

Example: true
{
  "total": 3,
  "areas": [
    {
      "id": "A1",
      "name": "Area_1",
      "is_active": true,
      "is_childwatch": true,
      "is_checkout_allowed": true,
      "age_restriction": false,
      "enforce_capacity": false
    },
    {
      "id": "A2",
      "name": "Area_2",
      "is_active": true,
      "is_childwatch": true,
      "is_checkout_allowed": true,
      "age_restriction": true,
      "age_from": 18,
      "age_to": 27,
      "enforce_capacity": false,
      "capacity": 2
    },
    {
      "id": "A3",
      "name": "Area_3",
      "is_active": true,
      "is_childwatch": false,
      "is_checkout_allowed": true,
      "age_restriction": false,
      "enforce_capacity": false
    }
  ]
}

Get branch current capacity

/v3/branches/{branch_id}/current_capacity
Description

Retrieves real-time details about the branch's attendance, including how many people are currently checked in and whether the branch enforces a maximum on the number of people allowed at the facility.

Path Parameters
branch_id
string

The ID of the branch.

Example: B42
Responses
HTTP 200 OK
total_capacity
number
optional

The maximum number of individuals who are allowed to be at the branch at one time. If this value is null, it means the value has not been configured and capacity-tracking is not enabled.

Example: 430
enforce_capacity
boolean
optional

Whether the branch enforces a maximum number of individuals who are allowed to be checked in at the same time.

Example: true
currently_checked_in
number
optional

The total number of people who are currently checked in at the time of the request.

Example: 43
percentage
number
optional

The percentage of the capacity at the time of the request.

Example: 10
branch_checkout_enabled
boolean
optional

Whether the branch currently allows members to check out of the branch.

Example: false
auto_checkout_in_minutes
number
optional

If this value is set, a member will be automatically checked out after the configured period has elapsed following a check-in.

Example: 120

Get branch available fees

/v3/branches/{branch_id}/fees
Description

Retrieves a list of available fees in a branch. Please note that virtual branches cannot have fees and are thus excluded from this endpoint.

Path Parameters
branch_id
string

The ID of the branch.

Example: B42
Query Parameters
fee_status
string
optional

Filters result on the enabled status of fees.

Default: all
Valid values: all, enabled, disabled
page_number
number
optional

The page number of the response. If not included in request, its default value will be 1.

page_size
number
optional

The number of fees fetched per response, defaulting to 25.

Responses
HTTP 200 OK
total
number
optional

The total number of fees fetched on this page of the response.

Example: 1
fees
array<object>
optional

A list of fees.

id
string
optional

The ID of the fee.

Example: 59384
name
string
optional

The name of the fee.

Example: Cafeteria Plan Withholding
description
string
optional

The description of the fee.

Example: Fees for Cafeteria
amount
string
optional

The amount of fee, formatted as money.

Example: $0.00
amount_value
string
optional

The amount of fee, formatted as decimal.

Example: 0
is_monthly_recurring
boolean
optional

Whether the fee is monthly recurring.

Example: false
is_active
boolean
optional

The status of the fee.

Example: true
sales_tax_applies
boolean
optional

Whether sales tax is applicable on the fee.

Example: false
has_more_records
boolean
optional

Whether there are more records on the next page.

Example: false

Get sites by branch

/v3/branches/sites
Description

Retrieves a list of sites associated with the branches.

Query Parameters
branch_ids
array<string>

Array of branch ids.

Example: B12,B11
include_inactive
boolean
optional

If true, include inactive sites in the response.

Example: true
Default: false
Responses
HTTP 200 OK
sites
array<object>
optional

A list of all the sites associated with branches

branch_id
string
optional

The ID of the branch with which site is associated.

Example: B21
branch_name
string
optional

The name of the branch with which site is associated.

Example: YMCA branch
site_id
string
optional

The ID of the site.

Example: S01
site_name
string
optional

The name of the site.

Example: YMCA site
site_description
string
optional

The description of the site.

Example: YMCA site
is_active
boolean
optional

Whether the site is active.

Example: true
{
  "sites": [
    {
      "branch_id": "B27",
      "branch_name": "YMCA Branch",
      "site_id": "S01",
      "site_name": "YMCA site",
      "site_description": "YMCA site",
      "is_active": true
    }
  ]
}

Get branch check-ins

/v3/checkins
Description

Retrieves a list of check-ins in a branch within a particular date range.

Query Parameters
start_date
string <date>

The start date in UTC format.

Example: 2020-01-15
end_date
string <date>

The end date in UTC format.

Example: 2020-01-31
location_id
string
optional

The ID of the branch.

Example: B27
page_number
number
optional

The page number.

Example: 1
page_size
number
optional

The number of records to be fetched.

Example: 10
Responses
HTTP 200 OK
total
number
optional

The total number of records returned.

Example: 1
checkins
array<object>
optional

A list of all the check-ins within the date range.

member_id
string
optional

The member ID of the member.

Example: 300180933-01
member_name
string
optional

The name of the member.

Example: Adams, Adam
check_in
object
optional

The details of the check-in.

date
string
optional

The date and time the member checked in in UTC format.

Example: 2020-06-29T13:08:58.5900000Z
location
object
optional

Details about the checked-in location.

id
string
optional

The ID of the branch.

Example: B27
type
string
optional

The type of the location.

Example: branch
Valid values: branch
name
string
optional

The name of the branch.

Example: Blocker/Norfolk Family YMCA
{
  "total": 1,
  "checkins": [
    {
      "member_id": "300180933-01",
      "member_name": "Adams, Adam",
      "check_in": {
        "date": "2020-06-29T13:08:58.5900000Z",
        "location": {
          "id": "B27",
          "type": "branch",
          "name": "Blocker/Norfolk Family YMCA"
        }
      }
    }
  ],
  "has_more_records": false
}

Virtual Branch Check In

/v3/virtualbranch/checkin
Description

Check in a single member to the Virtual Branch using his or her member_id

Request Body
member_id
string
optional

The member_id of the given member

Example: 300181797-01
Responses
HTTP 200 OK
success
boolean
optional

Indicates if the operation succeeded. If it did not, then the errors collection will contain additional information.

Financials

The Financials API allows developers to view financial information and transactions for an association.

Get Transactions

/v3/financials/transactions
Description

Retrieves all the transactions for the organization over a specific timeframe.

Query Parameters
category
string
optional

Optionally, whether to filter the query by the category of transaction. If not specified, it will default to all transactions.

Default: all_transactions
Valid values: all_transactions, fees, payments
start_date
string <date>
optional

The start date for the search date range. If not specified, it will default to 30 days ago.

Example: 2020-02-15
end_date
string <date>
optional

The end date for the search date range. If not specified, it will default to 30 days from the start date.

Example: 2020-02-26
page_number
number
optional

The page number of the response. If not included in the request, its default value will be 1.

Example: 1
page_size
number
optional

The number of transactions fetched per response, defaulting to 25.

Example: 20
Responses
HTTP 200 OK
total
number
optional

The total number of transactions fetched on this page of the response.

Example: 1
transactions
array<object>
optional

A list of transactions.

id
string
optional

The Credit/Debit/Payment ID of the transaction.

Example: 53363142
timestamp_utc
string<date-time>
optional

The timestamp (in UTC) when the transaction occurred.

Example: 2020-07-10T16:06:01.4770000
unit_id
string
optional

The ID of the unit for the transaction.

Example: 90000059443
description
string
optional

The description of the transaction.

Example: Super Cool After School Program — 5 days a week (12/29/14 - 06/01/15)
amount
string
optional

The amount for the transaction, including taxes, formatted as money.

Example: $750.00
amount_value
number<float>
optional

The amount for the transaction, including taxes, in decimal format.

Example: 750
transaction_type
string
optional

The type of transaction (e.g. credit or debit).

Example: Debit
category
string
optional

The type of credit or debit applied (e.g., Payment, Fees, Discount, Cancellation, etc.).

Example: Fees
total_tax
string
optional

The total taxes for the transaction, formatted as money.

Example: $0.00
total_tax_value
number<float>
optional

The total taxes for the transaction, in decimal format.

Example: 0
registration_details
object
optional
registration_id
string
optional

The registration ID of the program the transaction is related to (only available if the type of the program is Child Care).

Example: 4474636
type
string
optional

The type of program.

Example: Child Care
has_more_records
boolean
optional

Whether there are more records on the next page.

Example: false

Fundraising

The Fundraising API allows developers to manage fundraising and campaign data for an organization.

List campaigns

/v3/fundraising/campaigns
Description

Retrieves all the campaigns for an association.

Query Parameters
status
string
optional

The timeframe by which to optionally filter the query.

Example: current
Valid values: current, past, upcoming
season_id
number
optional

The ID of the campaign season by which to optionally filter the query.

Example: 76
template_id
number
optional

The ID of the campaign template by which to optionally filter the query.

Example: 72
branch_id
string
optional

The ID of the branch by which to optionally filter the query.

Example: B23
page_number
number
optional

The page number over which to iterate.

Example: 1
page_size
number
optional

The number of records to be fetched.

Example: 10
Responses
HTTP 200 OK
total
number<int32>
optional

The number of records returned.

Example: 1
has_more_records
boolean
optional

Whether there are more records to be fetched on subsequent calls.

Example: false
campaigns
array<object>
optional

The list of campaigns.

id
number
optional

The ID of the campaign.

Example: 23
code
string
optional

The code assigned to the campaign.

Example: C2020-1
name
string
optional

The name of the campaign.

Example: 2020 Capital Improvements
allow_online_giving
bool
optional

Whether the campaign is setup for online donations.

Example: true
goal_amount
number<float>
optional

The total amount the association is targeting to raise.

Example: 100000
template
object
optional

Details about the campaign template.

id
number
optional

The ID of the campaign template.

Example: 2
code
string
optional

The code assigned to the template.

Example: XA2
name
string
optional

The name of the template.

Example: Annual campaign
season
object
optional

Details about the campaign season.

id
number
optional

The ID of the campaign season.

Example: 23
code
string
optional

The code assigned to the season.

Example: XFR20
name
string
optional

The name of the season.

Example: 2020 Campaign
start_date
string<datetime>
optional

The date for the campaign starts.

Example: 2020-01-01T00:00:00+0000
end_date
string<datetime>
optional

The date for the campaign ends.

Example: 2021-01-01T00:00:00+0000
branch
object
optional

Basic information about an association's branch.

id
string
optional

The ID of the branch.

Example: B42
name
string
optional

The name of the branch.

Example: Downtown Branch

Add campaign

/v3/fundraising/campaigns
Description

Adds a new campaign for an association.

Request Body
campaign_code
string

The code of the campaign.

Example: ABC
campaign_name
string

The name of the campaign.

Example: ABC Campaign
branch_id
string

The branch ID of the campaign.

Example: B123
template_id
number

The tempate ID of the campaign.

Example: 234
season_id
number

The season ID of the campaign.

Example: 567
goal_amount
number<float>
optional

The goal amount of the campaign.

Default: 0
Example: 100.05
revenue_gl_id
number

The revenue GL ID of the campaign.

Example: 45634
cash_gl_id
number
optional

The cash GL ID of the new campaign.

Example: 45667
allow_online_giving
boolean
optional

Whether online donations are allowed for the campaign.

Default: false
Example: true
generate_online_thankyou_new_pledges
boolean
optional

Whether to generate "Thank You" letters for donations for new pledges.

Default: false
Example: true
generate_online_thankyou_each_payment
boolean
optional

Whether to generate "Thank You" letters for donations for each payment.

Default: false
Example: true
generate_online_thankyou_pledge_completion
boolean
optional

Whether to generate "Thank You" letters for donations for pledge completion.

Default: false
Example: true
online_campaign_name
string
optional

The online campaign name that will appear in all online giving screens. This property is required if the allow_online_giving property is set to true.

Example: ABC Online Campaign
confirmation_emails
array<string>
optional

A list of email addresses, to which a confirmation will be sent after any contribution is made.

Example: ["example@example.com","test@example.com"]
send_confirmation_for_in_house_donation
boolean
optional

Whether to send email confirmation for pledges given for in-house donations.

Default: false
Example: true
send_confirmation_for_online_donation
boolean
optional

Whether to send email confirmation for pledges given for online donations.

Default: false
Example: true
Responses
HTTP 201 Created
id
number
optional

The ID of the campaign created.

Example: 1234

Get Campaign by ID

/v3/fundraising/campaigns/{campaign_id}
Description

Retrieves the details of a campaign.

Path Parameters
campaign_id
number

The ID of the campaign.

Example: 4891
Responses
HTTP 200 OK
id
number
optional

The ID of the campaign.

Example: 23
code
string
optional

The code assigned to the campaign.

Example: C2020-1
name
string
optional

The name of the campaign.

Example: 2020 Capital Improvements
allow_online_giving
bool
optional

Whether the campaign is setup for online donations.

Example: true
goal_amount
number<float>
optional

The total amount the association is targeting to raise.

Example: 100000
template
object
optional

Details about the campaign template.

id
number
optional

The ID of the campaign template.

Example: 2
code
string
optional

The code assigned to the template.

Example: XA2
name
string
optional

The name of the template.

Example: Annual campaign
season
object
optional

Details about the campaign season.

id
number
optional

The ID of the campaign season.

Example: 23
code
string
optional

The code assigned to the season.

Example: XFR20
name
string
optional

The name of the season.

Example: 2020 Campaign
start_date
string<datetime>
optional

The date for the campaign starts.

Example: 2020-01-01T00:00:00+0000
end_date
string<datetime>
optional

The date for the campaign ends.

Example: 2021-01-01T00:00:00+0000
branch
object
optional

Basic information about an association's branch.

id
string
optional

The ID of the branch.

Example: B42
name
string
optional

The name of the branch.

Example: Downtown Branch

Delete Campaign

/v3/fundraising/campaigns/{campaign_id}
Description

Deletes a campaign.

Path Parameters
campaign_id
number

The ID of the campaign.

Example: 4891
Responses
HTTP 204 No Content

Get Campaign Stats

/v3/fundraising/campaigns/{campaign_id}/stats
Description

Retrieves the stats of a campaign.

Path Parameters
campaign_id
number

The ID of the campaign.

Example: 4891
Responses
HTTP 200 OK
campaign_name
string
optional

The name of the campaign.

Example: 2020 Capital Improvements
goal_amount
number<float>
optional

The total amount the association is targeting to raise.

Example: 10000
pledge_amount
number<float>
optional

The total amount that has been pledged toward the campaign.

Example: 1400
amount_paid
number<float>
optional

The total amount that has been contributed to the campaign.

Example: 184.3
unpaid_pledges
number<float>
optional

The part of the pledged amount that hasn't been contributed to the campaign yet.

Example: 1215.7
amount_written_off
number<float>
optional

The amount that has been written-off from the campaign.

Example: 5.7
number_of_pledges
number
optional

The number of pledges made to the campaign.

Example: 5
number_of_donors
number
optional

The number of donors for the campaign.

Example: 4
number_of_prospects
number
optional

The number of prospects for the campaign.

Example: 3
declining_prospects
number
optional

The number of declining prospects of the campaign.

Example: 0
outstanding_prospects
number
optional

The number of outstanding prospects of the campaign.

Example: 2
total_in_kind_gifts
number
optional

The number of in-kind gifts received by the campaign.

Example: 0
percent_goal_pledged
number<float>
optional

The percent of amount pledged to that of goal amount of the campaign.

Example: 35
percent_goal_paid
number<float>
optional

The percentage contributed toward the campaign goal.

Example: 4.61
percent_unpaid_pledge_amount
number<float>
optional

The percentage to be paid toward the campaign pledge.

Example: 86.84
start_date
datetime
optional

Start of the associated Campaign Season

end_date
datetime
optional

End of the associated Campaign Season

List campaigners

/v3/fundraising/campaigners
Description

Retrieves all the campaigners for an association, along with the campaigns they are associated with.

Query Parameters
campaing_id
number
optional

The ID of the campaign by which to optionally filter the query.

Example: 11
season_id
number
optional

The ID of the campaign season by which to optionally filter the query.

Example: 76
template_id
number
optional

The ID of the campaign template by which to optionally filter the query.

Example: 72
branch_id
string
optional

The ID of the branch by which to optionally filter the query.

Example: B23
name
string
optional

The wildcard name of the campaigner by which to optionally filter the query. Please note that, should you wish to search by full name, the format to use would be {lastName}, {firstName}.

Example: Finch, Atticus
page_number
number
optional

The page number over which to iterate.

Example: 1
page_size
number
optional

The number of records to be fetched.

Example: 10
Responses
HTTP 200 OK
total
number<int32>
optional

The number of records returned.

Example: 1
has_more_records
boolean
optional

Whether there are more records to be fetched on subsequent calls.

Example: false
campaigners
array<object>
optional

The list of campaigners.

id
string
optional

The ID of the campaigner.

Example: 200023-01
first_name
string
optional

The campaigner's first name.

Example: Atticus
middle_name
string
optional

The campaigner's middle name.

Example: L.
last_name
string
optional

The campaigner's last name.

Example: Finch
unit_id
string
optional

The ID of the membership unit the campaigner belongs to.

Example: 200023
member_id
string
optional

The campaigner's member ID.

Example: 200023-01
phone_number
string
optional

The campaigner's phone number.

Example: (555) 555-5555
email_address
string
optional

The campaigner's email address.

Example: atticus.finch@example.com
campaign
object
optional

Details about the campaign.

id
number
optional

The ID of the campaign.

Example: 23
code
string
optional

The code assigned to the campaign.

Example: C2020-1
name
string
optional

The name of the campaign.

Example: 2020 Capital Improvements
template
object
optional

Details about the campaign template.

id
number
optional

The ID of the campaign template.

Example: 2
code
string
optional

The code assigned to the template.

Example: XA2
name
string
optional

The name of the template.

Example: Annual campaign
season
object
optional

Details about the campaign season.

id
number
optional

The ID of the campaign season.

Example: 23
code
string
optional

The code assigned to the season.

Example: XFR20
name
string
optional

The name of the season.

Example: 2020 Campaign
start_date
string<datetime>
optional

The date for the campaign starts.

Example: 2020-01-01T00:00:00+0000
end_date
string<datetime>
optional

The date for the campaign ends.

Example: 2021-01-01T00:00:00+0000
branch
object
optional

Basic information about an association's branch.

id
string
optional

The ID of the branch.

Example: B42
name
string
optional

The name of the branch.

Example: Downtown Branch

List campaign seasons

/v3/fundraising/campaign_seasons
Description

Retrieves all the campaign seasons for an association.

Query Parameters
start_date
string <date>
optional

The start date of the campaign. If left blank, it will default to the start of the year.

Example: 2020-09-01
end_date
string <date>
optional

The end date of the campaign. If left blank, it will default to the end of the year (when the start date is not present) or the end of the start date's year.

Example: 2021-08-31
page_number
number
optional

The page number over which to iterate.

Example: 1
page_size
number
optional

The number of records to be fetched.

Example: 10
Responses
HTTP 200 OK
total
number<int32>
optional

The number of records returned.

Example: 1
has_more_records
boolean
optional

Whether there are more records to be fetched on subsequent calls.

Example: false
seasons
array<object>
optional

The list of campaign seasons returned.

id
number
optional

The ID of the campaign season.

Example: 23
code
string
optional

The code assigned to the season.

Example: XFR20
name
string
optional

The name of the season.

Example: 2020 Campaign
start_date
string<datetime>
optional

The date for the campaign starts.

Example: 2020-01-01T00:00:00+0000
end_date
string<datetime>
optional

The date for the campaign ends.

Example: 2021-01-01T00:00:00+0000

Add campaign season

/v3/fundraising/campaign_seasons
Description

Adds a new campaign season for an association.

Request Body
code
string

The code of the campaign season.

Example: ABC
name
string

The name of the campaign season.

Example: ABC Season
start_date
string<date>

The start date of the campaign season.

Example: 2020-12-31
end_date
string<date>

The end date of the campaign season.

Example: 2021-12-31
Responses
HTTP 201 Created
id
number
optional

The ID of the campaign season created.

Example: 1234

Get campaign season by ID

/v3/fundraising/campaign_seasons/{season_id}
Description

Retrieves the details of a particular campaign season.

Path Parameters
season_id
number

The ID of the campaign season.

Example: 1234
Responses
HTTP 200 OK
id
number
optional

The ID of the campaign season.

Example: 23
code
string
optional

The code assigned to the season.

Example: XFR20
name
string
optional

The name of the season.

Example: 2020 Campaign
start_date
string<datetime>
optional

The date for the campaign starts.

Example: 2020-01-01T00:00:00+0000
end_date
string<datetime>
optional

The date for the campaign ends.

Example: 2021-01-01T00:00:00+0000

Delete campaign season

/v3/fundraising/campaign_seasons/{season_id}
Description

Deletes a campaign season.

Path Parameters
season_id
number

The ID of the campaign season.

Example: 1234
Responses
HTTP 204 No Content

List campaign templates

/v3/fundraising/campaign_templates
Description

Retrieves all the campaign templates for an association.

Query Parameters
page_number
number
optional

The page number over which to iterate.

Example: 1
page_size
number
optional

The number of records to be fetched.

Example: 10
Responses
HTTP 200 OK
total
number<int32>
optional

The number of records returned.

Example: 1
has_more_records
boolean
optional

Whether there are more records to be fetched on subsequent calls.

Example: false
templates
array<object>
optional

The list of campaign templates returned.

id
number
optional

The ID of the campaign template.

Example: 2
code
string
optional

The code assigned to the template.

Example: XA2
name
string
optional

The name of the template.

Example: Annual campaign

Get campaign-template details

/v3/fundraising/campaign_templates/{template_id}
Description

Retrieves details about a specific campaign template.

Path Parameters
template_id
number

The ID of the campaign template

Example: 24
Responses
HTTP 200 OK
id
number
optional

The ID of the campaign template.

Example: 2
code
string
optional

The code assigned to the template.

Example: XA2
name
string
optional

The name of the template.

Example: Annual campaign
description
string
optional

A description of the campaign.

Example: The annual campaign to keep our members strong and our community stronger.
slogan
string
optional

The slogan for the campaign.

Example: For a stronger us.

List campaign types

/v3/fundraising/campaign_types
Description

Retrieves all the campaign types. Please note that campaign types are shared for all Daxko Operations customers.

Responses
HTTP 200 OK
total
number<int32>
optional

The number of campaign types returned.

Example: 1
types
array<object>
optional

The different campaign types available.

id
number
optional

The ID of the campaign type.

Example: 6
name
string
optional

The name of the campaign type.

Example: Corporate fundraiser
description
string
optional

A description of the campaign type.

Example: Use this type when designating campaigns tied to a corporate challenge.

Search for donors

/v3/fundraising/donors
Description

Retrieves a paginated list of donors, either members or organizations, who have made donations to the organization, based on the provided criteria.

Query Parameters
donor_type
string

The type of donor by which to filter the results.

Example: organization
Valid values: donors_only, all_members, organization
campaign_id
number
optional

The ID of the campaign by which to optionally filter the query.

Example: 76
donor_name
string
optional

The name of the donor by which to optionally filter the query.

Example: Smith Materials
assigned_donors_only
boolean
optional

When used in conjunction with the campaign_id query string, setting this parameter will filter the results to individuals or organizations who have been marked as assigned donors to a particular campaign. If omitted or set to false, it will only return those who are past donors to the supplied campaign. Please note that this parameter will only filter results when the campaign_id query-string parameter is also supplied.

last_pledged
string <datetime>
optional

THe last time the donor made a donation. Using this parameter will filter records to those who have been donated since the date specified.

Example: 2020-02-22T13:44:51Z
last_updated
string <datetime>
optional

THe last time the donor was contacted. Using this parameter will filter records to those who have been contacted since the date specified.

Example: 2020-02-22T13:44:51Z
next_follow_up
string <datetime>
optional

THe next time the donor is to be contacted. Using this parameter will filter records to those who have should be contacted after the date specified.

Example: 2020-02-22T13:44:51Z
page_number
number
optional

The page number over which to iterate.

Example: 1
page_size
number
optional

The number of records to be fetched.

Example: 10
Responses
HTTP 200 OK
total
number<int32>
optional

The number of records returned.

Example: 1
has_more_records
boolean
optional

Whether there are more records to be fetched on subsequent calls.

Example: false
donors
array<object>
optional

The list of donors.

id
string
optional

The ID of the donor.

Example: FDO25342345
type
string
optional

The type of donor.

Example: organization
Valid values: member, organization
name
string
optional

The name of the donor, which may be an individual or an organization.

Example: Smith Materials LLC
unit_id
string
optional

The ID of the unit associated with the donor.

Example: 25342345
member_id
string
optional

The ID of the member associated with the donor, only available if the donor is a member.

Example: 25342345-01
next_follow_up
string<datetime>
optional

The next time the donor is to be contacted.

Example: 2020-03-22T13:44:51Z
updated_at
string<datetime>
optional

The last time the donor record was updated.

Example: 2020-02-22T13:44:51Z

List GL Accounts By Type

/v3/fundraising/gl_accounts
Description

Retrieves the specific type of GL accounts available for fundraising.

Query Parameters
type
string

The type of GL accounts to be fetched.

Example: cash_gl
Valid values: cash_gl, revenue_gl
page_number
number
optional

The page number.

Example: 1
Default: 1
page_size
number
optional

The number of records to be fetched.

Example: 10
Default: 25
Responses
HTTP 200 OK
total
number<int32>
optional

The number of records returned.

Example: 1
has_more_records
boolean
optional

Whether there are more records to be fetched on subsequent calls.

Example: false
gl_accounts
array<object>
optional

The list of GL accounts.

gl_id
number
optional

The ID of the GL account.

Example: 1234
account_name
string
optional

The name of the GL account.

Example: ABC Account
account_number
string
optional

The account number of the GL account.

Example: 111-11-1234
gl_name_with_number
string
optional

The name of GL account, with the publicly-displayed account number.

Example: (111-11-1234) ABC Account
account_type
string
optional

The type of the GL account.

Example: Asset
display_on_membership
boolean
optional

Whether the GL account is available for memberships.

Example: true
display_on_programs
boolean
optional

Whether the GL account is available for programs.

Example: true
display_on_fundraising
boolean
optional

Whether the GL account is available for fundraising.

Example: true
display_on_fee_setup
boolean
optional

Whether the GL account is available for fee setup.

Example: true
show_all_branches
boolean
optional

Whether the GL account is available for all branches.

Example: true
is_enabled
boolean
optional

Whether the GL account is enabled.

Example: true
common_name
string
optional

The common name of the GL account.

Example: Cash Account

Program Registration

The Program Registration Carts API is used to register a member for programs, packages, child care and camp.

Create a cart

/v3/carts/
Description

Creates a cart that can be used for subsequent cart API calls.

Responses
HTTP 201 Created
cart_id
string

The ID of the cart that was created. Use this ID for any program registration API calls that require the cart_id as a path parameter. NOTE: This cart_id is only valid for program registration API calls and cannot be used for any membership API calls.

Example: d9e6ddd1-6d99-4623-b44c-cdd9450ed5bc

Start program offering registration

/v3/carts/{cart_id}/offerings
Description

This call starts the process of registering a member for offerings of a single program by adding it to the cart.

Depending on how the program is set up, additional calls may be needed in order for this member and offering combination to be available for checkout. For example, if the program.type is anything but camp, then the "Choose instances to register for" step must be completed. If custom questions must be answered, then the questions step must be completed before checking out.

Rules:

  • If the offering is a child care or package program, only one offering can be passed in.
  • If the offering is a camp or traditional program, more than one offering is allowed.

Example:

{
    "program_id": "CC1234",
    "offerings": [{
        "offering_id": "RP445555",
        "location_id": "B2222"
    }],
    "member_id": "10000-01",
    "registration_type": "online",
    "dry_run": false
}

The product_bundle_id value that is returned from this call in combination with the cart_id value will be used in subsequent calls to build up the rest of the registration.

Path Parameters
cart_id
string <uuid>

The ID used to uniquely represent the cart.

Example: ee8b0997-9861-4302-a0bf-f8f68fc50522
Request Body
member_id
string

The member being registered

program_id
string

The Program ID for the offering being added to the cart

offerings
array<object>

List of offerings for registration

offering_id
string

Offering ID for the offering being added to the cart

location_id
string

Location ID associated with selected Offering ID

registration_type
string

Specifies the type of registration (we currently only support online)

Valid values: in_house, online
dry_run
boolean
optional

When set to true, will only run the validation and not actually add to cart.

Default: false
Responses
HTTP 200 OK
success
boolean
optional

Indicates if the item was added to the cart. If dry_run is true this will only indicate if the item would be added to the cart. If this returns false it means the item was not added to the cart and you should check the errors collection.

product_bundle_id
string
optional

ID used to represent all items related to a given offering and any associated products.

info
object
optional

Common information about product bundle.

steps
object

Steps that a part of the registration process.

required
array<string>

These steps must be completed in order for the registration to be available for check out.

products
array<object>

Contains information about the product being purchased.

id
string

Root product ID. For program registrations, this will be the program id.

Example: TMP5333444
name
string

Root product description. For program registrations, this will be the program name.

Example: My Program
children
array<object>

Items that are below the root product in hierarchy.

id
string

Sub-product ID. For program registrations, this will be the offering id.

Example: SES4444222
name
string

Sub-product Name. For program registrations, this will be the offering name.

Example: My Session
person
object

Information about person being registered

id
string

Member ID

Example: 1234678-01
full_name
string

Full name of member

Example: John Doe
{
  "success": true,
  "product_bundle_id": "ee8b0997-9861-4302-a0bf-f8f68fc50522",
  "info": {
    "steps": {
      "required": [
        "instances",
        "agreements",
        "questions",
        "review"
      ]
    },
    "products": [
      {
        "id": "TMP61918",
        "name": "My Program",
        "children": [
          {
            "id": "SES912409",
            "name": "Session #1"
          }
        ]
      }
    ],
    "person": {
      "id": "300181439-01",
      "full_name": "Bruce Aldrich"
    }
  },
  "links": [
    {
      "rel": "instances",
      "href": "/carts/aa46bcf4-b65a-4a37-bed9-5dcb4674d0a3/product_bundles/26d2fe9a-c6d8-437b-83fb-cbe0063de31b/instances"
    }
  ]
}

Get possible instances to register for

/v3/carts/{cart_id}/product_bundles/{product_bundle_id}/instances
Description

After an offering registration has been started and added to the cart, this returns the list of instances that are available for registration.

Program Package Notes

The following is an axample of the additional property that will be included when the program.type is package

...
"instructors": [
  {
    "id": "INS22124",
    "first_name": "John",
    "last_name": "Doe",
    "gender": "M"
  },
  {
    "id": "INS22125",
    "first_name": "Sally",
    "last_name": "Jones",
    "gender": "F"
  }
]

Child Care Notes

The following is an example of additional properties that will be included when the program.type is child_care

...
"days": [
{
  "id": 1,
  "name": "Monday",
  "enabled": true,
  "selected": false
},
{
  "id": 2,
  "name": "Tuesday",
  "enabled": false,
  "selected": false
}
],
"min_required_days": 1

Camp Notes

If the program.type is camp, then this step is not valid since all of the offerings have been chosen in the add to cart step and there is not additional information that needs to be collected.

Path Parameters
cart_id
string

The ID of the cart.

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
product_bundle_id
string

The ID of the product bundle (registration).

Example: 97ae13b3-c646-abca-fb01-e8855ecd879b
Responses
HTTP 200 OK
info
object
optional

Common information about product bundle.

steps
object

Steps that a part of the registration process.

required
array<string>

These steps must be completed in order for the registration to be available for check out.

products
array<object>

Contains information about the product being purchased.

id
string

Root product ID. For program registrations, this will be the program id.

Example: TMP5333444
name
string

Root product description. For program registrations, this will be the program name.

Example: My Program
children
array<object>

Items that are below the root product in hierarchy.

id
string

Sub-product ID. For program registrations, this will be the offering id.

Example: SES4444222
name
string

Sub-product Name. For program registrations, this will be the offering name.

Example: My Session
person
object

Information about person being registered

id
string

Member ID

Example: 1234678-01
full_name
string

Full name of member

Example: John Doe
program
object
optional

Program information

id
string
optional

Program ID

type
string
optional

Program type

Valid values: standard, package, child_care
name
string
optional

Program name

expires
string<datetime>
optional

Expiration date for program package instances. For other instance types, the expires property is omitted.

instances
array<object>
optional

Instances

id
string
optional

Instance ID that will be used in the Choose Instances call

name
string
optional

Descriptive name of the instance (will only have a value if program.type is package).

start_date
string<datetime>
optional

Start date of instance (will not have value if program.type is package since package programs are on-going).

end_date
string<datetime>
optional

End date of instance (will not have value if program.type is package since package programs are on-going).

due_date
string<datetime>
optional

Due date for payment of instance (will not have value if program.type is package since package programs are on-going).

enabled
boolean
optional

Value is true if instance is available to be registered for. An example of a case where this will be false is if there is a child care availability exception or if the instance is full.

selected
boolean
optional

Whether or not the is selected for registration. For example, if you choose this instance in the PUT call and later make the GET call, this will be true. This value is not actually used for registration, but is a helper to keep track of state.

amount
number
optional

Fee amount for this instance. In order to calculate how much will actually cost the member with scholarships taken into account, the formula is amount - sum(discounts.amount).

waiting_list
boolean
optional

Whether or not the member will be on the waiting list if this instance is selected for registration.

offering
object
optional

Information about the parent offering.

id
string
optional

Related offering id

name
string
optional

Related offering name

discounts
array<object>
optional

Discounts (for example, scholarship) that will be automatically applied during registration.

name
string
optional

Display name of type of discount

type
string
optional

Type of discount

Valid values: school
amount
number
optional

Amount of discount

percent
number
optional

Discount percentage. 0.15 means a 15% discount.

fees
array<object>
optional

Fees that will be charged automatically (for example, registration fee)

type
string
optional

Fee type

Valid values: reg_fee
name
string
optional

Display name of fee type

amount
number
optional

Fee amount

instructors
array<object>
optional

Available instructors to choose from (property will only exist if program.type is package)

id
string
optional

Instructor ID

first_name
string
optional

Instructor first name

last_name
string
optional

Instructor last name

gender
string
optional

Instructor gender

Valid values: M, F
days
array<object>
optional

Day options to choose from when registering for a child care program (property will only exist if program.type is child_care)

id
number
optional

ISO8601 day of week ordinal (1 = Monday, ..., 7 = Sunday)

Valid values: 1, 2, 3, 4, 5, 6, 7
name
string
optional

Display name for day of week

Example: Monday
enabled
boolean
optional

Whether or not the day is available for registration (controlled by the rate plan set up)

selected
boolean
optional

Whether or not the day is selected. For example, if you choose this instance in the PUT call and later make the GET call, this will be true. This value is not actually used for registration, but is a helper to keep track of state.

min_required_days
number
optional

Minimum required days that must be chosen in order to register. This property will only exist if program.type is child_care.

{
  "info": {
    "steps": {
      "required": [
        "instances",
        "agreements",
        "questions",
        "review"
      ]
    },
    "products": [
      {
        "id": "TMP61918",
        "name": "My Program",
        "children": [
          {
            "id": "SES912409",
            "name": "Session #1"
          }
        ]
      }
    ],
    "person": {
      "id": "300181439-01",
      "full_name": "Bruce Aldrich"
    }
  },
  "program": {
    "id": "TMP61918",
    "type": "standard",
    "name": "My Program"
  },
  "instances": [
    {
      "id": "54d590a7-8909-4a58-a056-42afc408f352",
      "name": "",
      "start_date": "2050-01-01T00:00:00.0000000",
      "end_date": "2050-12-31T00:00:00.0000000",
      "due_date": "2050-01-01T00:00:00.0000000",
      "enabled": true,
      "selected": true,
      "amount": 100,
      "waiting_list": false,
      "offering": {
        "id": "SES912409",
        "name": "Session #1"
      },
      "discounts": [
        {
          "type": "schol",
          "name": "Scholarship",
          "amount": 10,
          "percent": 0.1
        }
      ]
    },
    {
      "id": "64d590a7-8909-4a58-af56-42afc408fabc",
      "name": "",
      "start_date": "2050-01-01T00:00:00.0000000",
      "end_date": "2050-12-31T00:00:00.0000000",
      "due_date": "2050-01-01T00:00:00.0000000",
      "enabled": true,
      "selected": true,
      "amount": 150,
      "waiting_list": false,
      "offering": {
        "id": "SES912999",
        "name": "Session #2"
      },
      "discounts": [
        {
          "type": "schol",
          "name": "Scholarship",
          "amount": 15,
          "percent": 0.1
        }
      ]
    }
  ],
  "fees": [
    {
      "type": "reg_fee",
      "name": "Registration Fee",
      "amount": 5.75
    }
  ]
}

Choose instances to register for

/v3/carts/{cart_id}/product_bundles/{product_bundle_id}/instances
Description

This call is used to choose which instances to register for after adding an offering to the cart and getting the list of possible instances from the GET call. If the program.type is camp, then this step is not valid.

Example:

{
    "instances": [
      { "id": "b90d74c1-9d9d-4ecc-8414-04cdf398337b" },
      { "id": "b2bb1212-7830-46d0-b76d-21a9d3a42044" }
    ],
    "days": [1, 3, 5],
    "instructor_id": "INS1234"
}

The info.steps.required property and the links property of the response can be used to determine what the next step in the process should be.

Path Parameters
cart_id
string

The ID of the cart.

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
product_bundle_id
string

The ID of the product bundle (registration).

Example: 97ae13b3-c646-abca-fb01-e8855ecd879b
Request Body
instances
array<object>

Instances to register for

id
string

Instance ID to register for

days
array<number>
optional

Which days of week to register for. This is an ISO8601 day of week ordinal (1=Monday, ... , 7=Sunday). For example, [1, 3, 5] would choose Mon, Wed, and Fri. This property is only valid if program.type is child_care

instructor_id
string
optional

Instructor ID to choose. This property is only valid if program.type is package and is always optional.

Responses
HTTP 200 OK
success
boolean
optional

Indicates whether the operation succeeded. An example of where this would be false is if the member already has all of these instances in this cart.

info
object
optional

Common information about product bundle.

steps
object

Steps that a part of the registration process.

required
array<string>

These steps must be completed in order for the registration to be available for check out.

products
array<object>

Contains information about the product being purchased.

id
string

Root product ID. For program registrations, this will be the program id.

Example: TMP5333444
name
string

Root product description. For program registrations, this will be the program name.

Example: My Program
children
array<object>

Items that are below the root product in hierarchy.

id
string

Sub-product ID. For program registrations, this will be the offering id.

Example: SES4444222
name
string

Sub-product Name. For program registrations, this will be the offering name.

Example: My Session
person
object

Information about person being registered

id
string

Member ID

Example: 1234678-01
full_name
string

Full name of member

Example: John Doe
{
  "success": true,
  "info": {
    "steps": {
      "required": [
        "instances",
        "agreements",
        "questions",
        "review"
      ]
    },
    "products": [
      {
        "id": "TMP61918",
        "name": "My Program",
        "children": [
          {
            "id": "SES912409",
            "name": "Session #1"
          }
        ]
      }
    ],
    "person": {
      "id": "300181439-01",
      "full_name": "Bruce Aldrich"
    }
  },
  "links": [
    {
      "rel": "questions",
      "href": "/carts/aa46bcf4-b65a-4a37-bed9-5dcb4674d0a3/product_bundles/26d2fe9a-c6d8-437b-83fb-cbe0063de31b/questions"
    },
    {
      "rel": "agreements",
      "href": "/carts/aa46bcf4-b65a-4a37-bed9-5dcb4674d0a3/product_bundles/26d2fe9a-c6d8-437b-83fb-cbe0063de31b/agreements"
    },
    {
      "rel": "review",
      "href": "/carts/aa46bcf4-b65a-4a37-bed9-5dcb4674d0a3"
    }
  ]
}

Get custom questions

/v3/carts/{cart_id}/product_bundles/{product_bundle_id}/questions
Description

After an offering registration has been started and added to the cart, this returns the list of custom questions that are available for answering. Use this to build answers to pass to the Save answers API call.

See the dxp-questions-ui Javascript library on GitHub for an example implementation of rendering and answering custom questions. Feel free to use this library directly or fork it to customize it.

Path Parameters
cart_id
string

The ID of the cart.

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
product_bundle_id
string

The ID of the product bundle (registration).

Example: 97ae13b3-c646-abca-fb01-e8855ecd879b
Responses
HTTP 200 OK
info
object
optional

Common information about product bundle.

steps
object

Steps that a part of the registration process.

required
array<string>

These steps must be completed in order for the registration to be available for check out.

products
array<object>

Contains information about the product being purchased.

id
string

Root product ID. For program registrations, this will be the program id.

Example: TMP5333444
name
string

Root product description. For program registrations, this will be the program name.

Example: My Program
children
array<object>

Items that are below the root product in hierarchy.

id
string

Sub-product ID. For program registrations, this will be the offering id.

Example: SES4444222
name
string

Sub-product Name. For program registrations, this will be the offering name.

Example: My Session
person
object

Information about person being registered

id
string

Member ID

Example: 1234678-01
full_name
string

Full name of member

Example: John Doe
mode
string
optional

Whether answers will be edited or created. If mode is create, then no answers exist yet. If mode is edit, then answers already exist and will be edited.

Valid values: create, edit
questions
dictionary
optional

This is a dictionary where the question id is the key mapping to an object that defines the question.

"questions": {
  "question_1": { "title": "Question 1", ... },
  "question_2": { "title": "Question 2", ... }
}
type
string

Type of question

Valid values: section, text, name, date, dropdown, radio, checkboxes, phone, address, email
title
string

Question title

Example: Name
description
string

Question description/additional instructions.

Example: Please fill first name first
required
boolean
optional

Value is true if an answer to the question is required.

Example: true
read_only
boolean
optional

Value is true if the question should be rendered in the UI as read only.

Example: true
max_length
number
optional

Maximum text length allowed for questions of type text and email.

Example: 22
default_value
string
optional

Default value. Exists only for questions of type dropdown, checkboxes, and radio.

Example: Selected
possible_answers
array<object>
optional

List of possible answers. Exists only for questions of type dropdown, checkboxes, and radio.

id
string

Possible answer ID

Example: childcare_possible_answer-103476
value
string

Possible answer value

Example: Medium
amount
number
optional

Fee amount for this answer. Exists only when there is a fee.

Example: 10.00
display_value
string

Display friendly value.

Example: Medium - $10.00
hide_empty_option
boolean
optional

Value is true if the UI should not show an empty option. For example, the dropdown might by default say 'Select One', but if this value is true then 'Select One' should not be shown.

Example: true
empty_value
string
optional

Defines what is considered an empty value for this question. For example, the value 'U' might be considered an empty value and will throw a validation error if this value is selected. Exists only for questions of type dropdown, checkboxes, and radio.

Example: U
pattern
string
optional

Regular expression to validate input against. Exists only for questions of type email.

Example: ^\d+$
show_extension
boolean
optional

Value is true if phone extension number should be rendered in UI. Exists only for questions of type phone.

Example: true
intl
boolean
optional

Value is true if this is an international address or phone number question. Exists only for questions of type phone and address.

Example: true
show_first
boolean
optional

Value is true if first name should be rendered in UI. Exists only for questions of type name.

Example: true
show_middle
boolean
optional

Value is true if middle name should be rendered in UI. Exists only for questions of type name.

Example: true
show_last
boolean
optional

Value is true if last name should be rendered in UI. Exists only for questions of type name.

Example: true
show_prefix
boolean
optional

Value is true if name prefix should be rendered in UI. Exists only for questions of type name.

Example: true
show_suffix
boolean
optional

Value is true if name suffix should be rendered in UI. Exists only for questions of type name.

Example: true
required_first
boolean
optional

Value is true if first name is required. Exists only for questions of type name.

Example: true
required_middle
boolean
optional

Value is true if middle name is required. Exists only for questions of type name.

Example: true
required_last
boolean
optional

Value is true if last name is required. Exists only for questions of type name.

Example: true
prefixes
array<object>
optional

List of available name prefixes.

id
string

ID of prefix

Example: Mr.
name
string

Display value of prefix

Example: Mr.
suffixes
array<object>
optional

List of available name suffixes.

id
string

ID of suffix

Example: Jr.
name
string

Display value of suffix

Example: Jr.
ca_provinces
array<object>
optional

Canada province list. Exists only for questions of type address when intl is true.

id
string

Province code

Example: AB
name
string

Display name of province

Example: British Columbia
countries
array<object>
optional

Country list. Exists only for questions of type address when intl is true.

id
string

Country code

Example: US
name
string

Display name of province

Example: Canada
answers
dictionary
optional

This is a dictionary where the question ID is the key mapping to an object that defines the answer to that question.

"answers": {
  "question_1": "answer text...",
  "question_5": {"phone": "555-555-5555"}
}
{
  "info": {
    "steps": {
      "required": [
        "instances",
        "agreements",
        "questions",
        "review"
      ]
    },
    "products": [
      {
        "id": "TMP61918",
        "name": "My Program",
        "children": [
          {
            "id": "SES912409",
            "name": "Session #1"
          }
        ]
      }
    ],
    "person": {
      "id": "300181439-01",
      "full_name": "Bruce Aldrich"
    }
  },
  "mode": "edit",
  "questions": {
    "sect_program_58883": {
      "type": "section",
      "title": "This is the first section of questions",
      "description": "These are the instructions"
    },
    "program_mediumtext-213704": {
      "type": "text",
      "title": "What color is the sky?",
      "description": "",
      "required": false,
      "read_only": false,
      "max_length": 50
    },
    "program_phone-213705": {
      "type": "phone",
      "title": "What is your phone number?",
      "description": "",
      "required": false,
      "read_only": false,
      "show_extension": true,
      "intl": false
    },
    "program_answerlist-213706": {
      "type": "dropdown",
      "title": "What is your favorite letter?",
      "description": "",
      "required": false,
      "read_only": false,
      "possible_answers": [
        {
          "id": "program_possible_answer-104587",
          "value": "A",
          "display_value": "A"
        },
        {
          "id": "program_possible_answer-104588",
          "value": "B",
          "display_value": "B"
        },
        {
          "id": "program_possible_answer-104589",
          "value": "C",
          "display_value": "C"
        }
      ],
      "hide_empty_option": false,
      "empty_value": ""
    },
    "program_answerlist-213707": {
      "type": "checkboxes",
      "title": "Choose 1 or more options below",
      "description": "",
      "required": false,
      "read_only": false,
      "possible_answers": [
        {
          "id": "program_possible_answer-104590",
          "value": "A",
          "amount": 10,
          "display_value": "A - $10.00"
        },
        {
          "id": "program_possible_answer-104591",
          "value": "B",
          "amount": 20,
          "display_value": "B - $20.00"
        },
        {
          "id": "program_possible_answer-104592",
          "value": "C",
          "amount": 20,
          "display_value": "C - $20.00"
        }
      ],
      "hide_empty_option": false,
      "empty_value": ""
    },
    "program_address-213708": {
      "type": "address",
      "title": "What is your address?",
      "description": "",
      "required": false,
      "read_only": false,
      "intl": false
    },
    "program_answerlist-213709": {
      "type": "radio",
      "title": "What is your favorite letter?",
      "description": "",
      "required": false,
      "read_only": false,
      "possible_answers": [
        {
          "id": "program_possible_answer-104593",
          "value": "A",
          "display_value": "A"
        },
        {
          "id": "program_possible_answer-104594",
          "value": "B",
          "display_value": "B"
        },
        {
          "id": "program_possible_answer-104595",
          "value": "C",
          "display_value": "C"
        }
      ],
      "hide_empty_option": false,
      "empty_value": ""
    },
    "program_datetime-213710": {
      "type": "date",
      "title": "What is your birth date?",
      "description": "",
      "required": false,
      "read_only": false
    },
    "program_email-213711": {
      "type": "email",
      "title": "What is your email address?",
      "description": "",
      "required": false,
      "read_only": false,
      "max_length": 100,
      "pattern": "^\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$"
    },
    "program_name-213712": {
      "type": "name",
      "title": "What is your mother's name?",
      "description": "",
      "required": false,
      "read_only": false,
      "show_first": true,
      "show_middle": false,
      "show_last": true,
      "show_prefix": false,
      "show_suffix": true,
      "required_first": false,
      "required_middle": false,
      "required_last": false,
      "suffixes": [
        {
          "id": "Jr.",
          "value": "Jr."
        },
        {
          "id": "Sr.",
          "value": "Sr."
        },
        {
          "id": "I",
          "value": "I"
        },
        {
          "id": "II",
          "value": "II"
        },
        {
          "id": "III",
          "value": "III"
        },
        {
          "id": "IV",
          "value": "IV"
        },
        {
          "id": "V",
          "value": "V"
        }
      ]
    }
  },
  "answers": {
    "program_mediumtext-213704": "purple",
    "program_phone-213705": {
      "phone": "555-555-5555",
      "ext": "123"
    },
    "program_answerlist-213706": "program_possible_answer-104589",
    "program_answerlist-213707": [
      "program_possible_answer-104591",
      "program_possible_answer-104592"
    ],
    "program_address-213708": {
      "line1": "111 Some Dr",
      "line2": "Ste 208",
      "city": "Homewood",
      "state": "AL",
      "zip": "35209",
      "country": "US"
    },
    "program_answerlist-213709": "program_possible_answer-104594",
    "program_datetime-213710": "1/1/2010",
    "program_email-213711": "me@example.com",
    "program_name-213712": {
      "first": "Sally",
      "last": "Doe",
      "suffix": "III"
    }
  }
}

Save answers

/v3/carts/{cart_id}/product_bundles/{product_bundle_id}/answers
Description

This call is used to save custom question answers. In the example below, the key is the question id from Get custom questions and the value is the answer.

Example body:

{
  "program_mediumtext-213704": "purple",
  "program_phone-213705": {
    "phone": "555-555-5555",
    "ext": "123"
  },
  "program_answerlist-213706": "program_possible_answer-104589",
  "program_answerlist-213707": [
    "program_possible_answer-104591",
    "program_possible_answer-104592"
  ],
  "program_address-213708": {
    "line1": "111 Some Dr",
    "line2": "Ste 208",
    "city": "Homewood",
    "state": "AL",
    "zip": "35209",
    "country": "US"
  },
  "program_answerlist-213709": "program_possible_answer-104594",
  "program_datetime-213710": "1/1/2010",
  "program_email-213711": "me@example.com",
  "program_name-213712": {
    "first": "Sally",
    "last": "Doe",
    "suffix": "III"
  }
}
Path Parameters
cart_id
string

The ID of the cart.

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
product_bundle_id
string

The ID of the product bundle (registration).

Example: 97ae13b3-c646-abca-fb01-e8855ecd879b
Responses
HTTP 200 OK
success
boolean
optional

Indicates whether the operation succeeded.

info
object
optional

Common information about product bundle.

steps
object

Steps that a part of the registration process.

required
array<string>

These steps must be completed in order for the registration to be available for check out.

products
array<object>

Contains information about the product being purchased.

id
string

Root product ID. For program registrations, this will be the program id.

Example: TMP5333444
name
string

Root product description. For program registrations, this will be the program name.

Example: My Program
children
array<object>

Items that are below the root product in hierarchy.

id
string

Sub-product ID. For program registrations, this will be the offering id.

Example: SES4444222
name
string

Sub-product Name. For program registrations, this will be the offering name.

Example: My Session
person
object

Information about person being registered

id
string

Member ID

Example: 1234678-01
full_name
string

Full name of member

Example: John Doe
{
  "success": true,
  "info": {
    "steps": {
      "required": [
        "instances",
        "agreements",
        "questions",
        "review"
      ]
    },
    "products": [
      {
        "id": "TMP61918",
        "name": "My Program",
        "children": [
          {
            "id": "SES912409",
            "name": "Session #1"
          }
        ]
      }
    ],
    "person": {
      "id": "300181439-01",
      "full_name": "Johnny Doe"
    }
  },
  "links": [
    {
      "rel": "agreements",
      "href": "/carts/aa46bcf4-b65a-4a37-bed9-5dcb4674d0a3/product_bundles/26d2fe9a-c6d8-437b-83fb-cbe0063de31b/agreements"
    },
    {
      "rel": "review",
      "href": "/carts/aa46bcf4-b65a-4a37-bed9-5dcb4674d0a3"
    }
  ]
}

Get agreements

/v3/carts/{cart_id}/product_bundles/{product_bundle_id}/agreements
Description

This call is used to retrieve all agreements associated with a product bundle.

Path Parameters
cart_id
string

The ID of the cart.

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
product_bundle_id
string

The ID of the product bundle (registration).

Example: 97ae13b3-c646-abca-fb01-e8855ecd879b
Responses
HTTP 200 OK
info
object
optional

Common information about product bundle.

steps
object

Steps that a part of the registration process.

required
array<string>

These steps must be completed in order for the registration to be available for check out.

products
array<object>

Contains information about the product being purchased.

id
string

Root product ID. For program registrations, this will be the program id.

Example: TMP5333444
name
string

Root product description. For program registrations, this will be the program name.

Example: My Program
children
array<object>

Items that are below the root product in hierarchy.

id
string

Sub-product ID. For program registrations, this will be the offering id.

Example: SES4444222
name
string

Sub-product Name. For program registrations, this will be the offering name.

Example: My Session
person
object

Information about person being registered

id
string

Member ID

Example: 1234678-01
full_name
string

Full name of member

Example: John Doe
signature_type
string
optional

If set to type_name, then these agreements are set up to accept a typed name as the signature. If set to signature, then these agreements are set up to accept a signature image.

Valid values: type_name, signature
agreements
array<object>
optional

The list of agreements for the product_bundle_id

agreement_id
string
optional

The agreement ID

title
string
optional

The agreement title

body
string
optional

The actual text of the agreement

accepted
boolean
optional

Indicates whether the agreement has previously been accepted

{
  "info": {
    "steps": null,
    "products": [
      {
        "id": "TMP62009",
        "name": "Adult Swimming Lessons",
        "children": null
      },
      {
        "id": "SES912539",
        "name": "Session 1 (11/1/2017 - 11/6/2017)"
      }
    ],
    "person": {
      "id": "300180856-01",
      "full_name": "John Doe"
    }
  },
  "signature_type": "type_name",
  "agreements": [
    {
      "agreement_id": "W293",
      "title": "Make up policy",
      "body": "I agree that you will forfeit your lesson fee if I do not cancel within 2 hours of class start time.",
      "accepted": false
    },
    {
      "agreement_id": "W297",
      "title": "Consent for emergency medical treatment",
      "body": "I grant authorization to a licensed physician to treat msyelf in case of a medical emergency.",
      "accepted": true
    }
  ],
  "links": [
    {
      "rel": "agreements",
      "href": "/carts/c80464db-a47f-4f8c-b66c-c4cb4957b4ae/product_bundles/f0f588cc-702e-403d-a24c-102df4995953/agreements"
    },
    {
      "rel": "questions",
      "href": "/carts/c80464db-a47f-4f8c-b66c-c4cb4957b4ae/product_bundles/f0f588cc-702e-403d-a24c-102df4995953/questions"
    },
    {
      "rel": "review",
      "href": "/carts/c80464db-a47f-4f8c-b66c-c4cb4957b4ae"
    }
  ]
}

Accept agreements

/v3/carts/{cart_id}/product_bundles/{product_bundle_id}/agreements
Description

This call is used to save and sign agreements associated with a program. Either signee_name or signature_image_base64 is required.

Example body with signee_name:

{
  "agreement_ids": ["W293"],
  "signee_name": "John Doe"
}

Example body with signature_image_base64:

{
  "agreement_ids": ["W293"],
  "signature_image_base64": "iVBORw..."
}
Path Parameters
cart_id
string

The ID of the cart.

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
product_bundle_id
string

The ID of the product bundle (registration).

Example: 97ae13b3-c646-abca-fb01-e8855ecd879b
Request Body
agreement_ids
array<string>

A list of required agreement_ids for the product bundle.

Example: ["W3982","W221"]
signee_name
string
optional

The name of the signee.

Example: John Doe
signature_image_base64
string
optional

Base64 encoded PNG signature image. This should be a black and white image with the pen stroke being black like the one being generated by this signature pad plugin.

Example: iVBORw0KGgoAAAANSUhEUgAAAV8AAAA6...
Responses
HTTP 200 OK
success
boolean
optional
info
object
optional

Common information about product bundle.

steps
object

Steps that a part of the registration process.

required
array<string>

These steps must be completed in order for the registration to be available for check out.

products
array<object>

Contains information about the product being purchased.

id
string

Root product ID. For program registrations, this will be the program id.

Example: TMP5333444
name
string

Root product description. For program registrations, this will be the program name.

Example: My Program
children
array<object>

Items that are below the root product in hierarchy.

id
string

Sub-product ID. For program registrations, this will be the offering id.

Example: SES4444222
name
string

Sub-product Name. For program registrations, this will be the offering name.

Example: My Session
person
object

Information about person being registered

id
string

Member ID

Example: 1234678-01
full_name
string

Full name of member

Example: John Doe
{
  "success": true,
  "info": {
    "steps": null,
    "products": [
      {
        "id": "TMP62009",
        "name": "OPS-21274",
        "children": [
          {
            "id": "SES912539",
            "name": "Session 1 (11/1/2017 - 11/1/2020)"
          }
        ]
      }
    ],
    "person": {
      "id": "300180856-01",
      "full_name": "caleb tucker"
    }
  },
  "links": [
    {
      "rel": "agreements",
      "href": "/carts/c80464db-a47f-4f8c-b66c-c4cb4957b4ae/product_bundles/f0f588cc-702e-403d-a24c-102df4995953/agreements"
    },
    {
      "rel": "questions",
      "href": "/carts/c80464db-a47f-4f8c-b66c-c4cb4957b4ae/product_bundles/f0f588cc-702e-403d-a24c-102df4995953/questions"
    },
    {
      "rel": "review",
      "href": "/carts/c80464db-a47f-4f8c-b66c-c4cb4957b4ae"
    }
  ]
}

Get Cart Details

/v3/carts/{cart_id}
Description

Retrieves the line items of a cart. This call must be made prior to finalizing an order.

Path Parameters
cart_id
string

The ID of the cart.

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
Responses
HTTP 200 OK
version
string
optional

The cart version serves as a verification value that an order has been reviewed before being finalized. It will need to be passed into the cart checkout API call.

Example:
line_items
array<object>
optional

A list of line items that have been added to the cart

line_item_id
string

The line item ID.

Example: 307b94ae-fb6f-4382-b623-9b772ae07c83
product_bundle_id
string
optional

The ID of the product bundle this line item belongs

Example: 97ae13b3-c646-abca-fb01-e8855ecd879b
type
string

The line item type. A description of each type is detailed in the table below.

typedescription
reg_feeRegistration Fee
question_feeQuestion Fee
instInstance Fee
Valid values: reg_fee, question_fee, inst
description
string

The line item full description.

Example:
short_description
string

The line item short description.

Example:
level1
string

The line item first-level grouping. This is only used for display purposes.

Example:
level2
string

The line item second-level grouping. This is only used for display purposes.

Example:
level3
string

The line item third-level grouping. This is only used for display purposes.

Example:
level4
string

The line item fourth-level grouping. This is only used for display purposes.

Example:
unit_price
number

The line item price per unit.

Example:
quantity
number

The line item quantity.

Example:
extended_price
number

The price for all quantities. Equal to quantity * unit_price.

Example:
can_remove
boolean

Indicates whether the line_item can be deleted from the cart. For example, you can delete a program offering but not a registration fee.

Example:
due_date
string<datetime>

The date when the min_payment_amount is due.

Example:
min_payment_amount
number

How much of the extended_price is due immediately.

Example:
payment_method_amount
number

The amount that will be paid by the payment method.

Example:
system_credit_amount
number

The amount that will be paid by system credit.

Example:
scheduled_amount
number

The balance amount due after discounts, system_credit_amount, and payment_method_amount

Example:
due_later_amount
number

Balance if min_payment_amount is paid. This value is independent of how much is paid toward the line_item. For example, if a unit's extended_price is $100, and the min_payment_amount is $15, then the due_later_amount will always be $85.

Example:
discounts
array<object>

A list of discounts applied to the line item.

type
string

The type of discount applied. A description of each type is detailed in the table below.

typedescription
promoPromo code
scholScholarship
Valid values: promo, schol
amount
number

Dollar amount of discount

description
string

Discount description

percent
number
optional

The percentage amount

line_item_payments
array<object>
optional

A list of the amount that will be paid for each line item. This is provided for convenience so that it doesn't have to be manually constructed. However, for more advanced payment scenarios (if your application wants to specify per line item payments), your application will need to construct it. It will be required for the finalize payment API call.

line_item_id
string

The line item ID

Example: 141039c2-f0c0-4513-be20-b3d92024489a
amount
number
optional

The line item amount

schedule_remaining
boolean
optional

The indicates if that in the event the required amount is not paid, that any remaining balance is automatically applied to the member's account.

Default: true
product_bundles
array<object>
optional

List of all product bundles in the cart. Use the product_bundle_id in the line_items collection to reference the product bundle.

product_bundle_id
string

The product bundle id

Example: 241039c3-f0c0-4513-be20-b3d92024487b
status
string

The status of the product bundle. complete means that all of the required steps have been completed and the product bundle is available for checkout. incomplete means that one or more of the required steps needs to be completed in order for the product bundle to be available for checkout.

Valid values: complete, incomplete
info
object

Common information about product bundle.

steps
object

Steps that a part of the registration process.

required
array<string>

These steps must be completed in order for the registration to be available for check out.

products
array<object>

Contains information about the product being purchased.

id
string

Root product ID. For program registrations, this will be the program id.

Example: TMP5333444
name
string

Root product description. For program registrations, this will be the program name.

Example: My Program
children
array<object>

Items that are below the root product in hierarchy.

id
string

Sub-product ID. For program registrations, this will be the offering id.

Example: SES4444222
name
string

Sub-product Name. For program registrations, this will be the offering name.

Example: My Session
person
object

Information about person being registered

id
string

Member ID

Example: 1234678-01
full_name
string

Full name of member

Example: John Doe
require_payment_method
boolean
optional

Indicates if the cart requires payment now or at some point in the future.

max_payment_method_amount
number
optional

Indicates the max amount that can be applied to the entire cart. This can be used for validation purposes to ensure that an error is not returned from the API for specifying an amount that exceeds the total amount.

Delete a cart

/v3/carts/{cart_id}
Description

Deletes a cart, and all product bundles, and frees any reserved spots.

Path Parameters
cart_id
string

The ID of the cart to delete

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
Responses
HTTP 200 OK
success
boolean
optional

Indicates whether the cart was deleted.

Example: true

Remove product bundle from cart

/v3/carts/{cart_id}/product_bundles/{product_bundle_id}
Description

Removes a product bundle from the cart, and frees any reserved spots. A call to GET /v1/carts/{cart_id} will return the updated cart information.

Path Parameters
cart_id
string

The ID of the cart with the product bundle to delete

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
product_bundle_id
string

The ID of the product bundle to delete

Example: 97ae13b3-c646-abca-fb01-e8855ecd879b
Responses
HTTP 200 OK
success
boolean
optional

Indicates whether the product bundle was deleted.

Example: true

Delete line item

/v3/carts/{cart_id}/line_items/{line_item_id}
Description

Deletes a line item from cart (if possible), recalculates cart total and frees any reserved spots. A call to GET /v1/carts/{cart_id} will return the updated cart information.

Path Parameters
cart_id
string

The ID of the cart which the line item belongs

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
line_item_id
string

The ID of the line item to delete

Responses
HTTP 200 OK
success
boolean
optional

Indicates whether the line item was deleted.

Example: true

Apply promo code to cart

/v3/carts/{cart_id}/promo_codes
Description

Apply promo code to cart. Once the promo code is applied, call get cart details and inspect line_items.discounts where type is promo to see result of promo code.

Example Body:

{
  "promo_code": "FALL20OFF"
}
Path Parameters
cart_id
string

The ID of the cart.

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
Request Body
promo_code
string

Promo code

Responses
HTTP 200 OK
success
boolean
optional

Indicates if the operation succeeded or not.

{
  "success": true,
  "links": [
    {
      "rel": "review",
      "href": "/carts/77ae13b3-c645-4bca-bb01-d8855ecd879a"
    }
  ]
}

Delete promo code from cart

/v3/carts/{cart_id}/promo_codes
Description

Once a promo code has been applied to the cart, use this call to remove it.

Example Body:

{
  "promo_code": "FALL20OFF"
}
Path Parameters
cart_id
string

The ID of the cart.

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
Request Body
promo_code
string

Promo code

Responses
HTTP 200 OK
success
boolean
optional

Indicates if the operation succeeded or not.

{
  "success": true,
  "links": [
    {
      "rel": "review",
      "href": "/carts/77ae13b3-c645-4bca-bb01-d8855ecd879a"
    }
  ]
}

Apply payment amounts

/v3/carts/{cart_id}/payment_amount
Description

This call allows you to optionally apply payment amounts top down to items in the cart. On the final checkout api call, you must provide the line_item_payments mapping, which is a mapping of line_item_id to amount. This represents how much money (payment method amount plus system credit amount) will applied to each line item.

If you do not want to manually calculate this mapping, you can use this api call as a convenient way to calculate this mapping for you.

Path Parameters
cart_id
string

The ID of the cart.

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
Request Body
payment_method_amount
number

Total amount that will be applied using the payment method (for example: VISA or Bank Account)

system_credit_amount
number
optional

Total amount that will be applied using available system credit. If you request more system credit than is available, an error will occur.

Responses
HTTP 200 OK
success
boolean
optional

Indicates whether the operation succeeded. If it did not, then the errors collection will contain additional information.

{
  "success": true,
  "links": [
    {
      "rel": "review",
      "href": "/carts/d2850a5a-3976-43a3-b7b4-2bc7e00ceee4"
    }
  ]
}
/v3/carts/{cart_id}/one_time_link
Description

Generates a one-time link (valid for 10 minutes) that takes the user to a page in Daxko Operations Online to finish the Program Registration process. One the link has been used once, it is no longer valid.

Path Parameters
Request Body
redirect_uri
string

URI to redirect to after Program Registration process succeeds.

Example: https://www.example.org/my_success_page
step
string

Step to show in the browser.

Valid values: pay
customer_name
string
optional

Name to show on the receipt.

Example: John Doe
customer_email
string
optional

Email to show the receipt to.

Example: john.doe@example.org
header
string
optional

Show or hide the Daxko Operations Online header. Defaults to show

Valid values: show, hide
nav
string
optional

Show or hide the Daxko Operations Online navigation. Defaults to hide

Valid values: show, hide
Responses
HTTP 200 OK
{
  "url": "https://operations.daxko.com/online/9991/cart/redirector.mvc?code=_qNGKAKowkSmHDzCN6y8zT4bxCCD2LZgBN8m4ko_6E0&__header=show&__footer=hide&__nav=hide"
}

Checkout

/v3/carts/{cart_id}/checkout
Description

This call completes the registration. Once the registration is submitted, it is processed asynchronously. The status can be checked using the get cart status api call. However, the Get Receipt call is immediately available.

Example request body:

{
  "version": "AAAAAAmirMM=",
  "customer": {
    "name": "John Doe",
    "email": "john.doe@example.org"
  },
  "payment_info": [
    {
      "payment_method_amount": 90,
      "apply_system_credit_amount": 10,
      "billing_method": {
        "id": "PTLvg3hhYLPUqaBJcHIybjIokxLwR6RHG4zdhF6zZQdZM",
        "save": true
      },
      "line_item_payments": [
        {
          "line_item_id": "4f04bd57-a51b-4d55-85ea-b6f4d7a64090",
          "amount": 40,
          "schedule_remaining": false
        },
        {
          "line_item_id": "fe591b03-79a6-4d07-a0ac-64574a35896d",
          "amount": 60,
          "schedule_remaining": false
        }
      ]
    }
  ]
}
Path Parameters
cart_id
string

The ID of the cart.

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
Request Body
version
string

The get cart api call returns back this version value every time the call is made. The latest version must be included when performing the final checkout as a check to make sure that the most up to date has been reviewed.

Example: AAAAAAmirMM=
customer
object

Information about the customer that is checking out.

name
string
optional

Name of customer that is performing purchase. This name will be returned in the receipt api call.

Example: John Doe
email
string
optional

Customer's email address that the receipt will be emailed to. If this is left blank, then an email will not be sent.

Example: john.doe@example.org
payment_info
array<object>

Payment info for payment method. Only 1 payment method at a time is currently supported.

payment_method_amount
number

Amount that is being paid from the specified payment method (i.e., $100 is being paid by a VISA payment method)

Example: 90
apply_system_credit_amount
number
optional

If system credit is available on the account, this is the amount that is being paid from available system credit.

Example: 10
billing_method
object
optional

Information about billing method used to pay for this cart. Not required if payment is not being collected and the balance should go on the unit's account.

id
string

ID of billing method. Is either a Daxko Payment Token (prefixed with 'PT') or a stored billing method in Daxko Operations (prefixed with 'BM')

Example: PTLvg3hhYLPUqaBJcHIybjIokxLwR6RHG4zdhF6zZQdZM
save
boolean
optional

Should the information on the Daxko Payment Token be stored for future use as a stored billing method in Daxko Operations? (This property is ignored if using an id prefixed with BM since it is already stored in Daxko Operations).

Default: false
Example: true
line_item_payments
array<object>

This is a mapping of how much of the total payment amount (payment_method_amount + apply_system_credit_amount) is applied to each line item. The sum of all line_item_payments.amount must equal (payment_method_amount + apply_system_credit_amount). An entry is required for each line item even if applying $0.

line_item_id
string

The ID of the line item from the get cart api call.

Example: 4f04bd57-a51b-4d55-85ea-b6f4d7a64090
amount
number

Amount of payment_method_amount + apply_system_credit_amount that should be applied to this line item. For example, if payment_method_amount is $90 and apply_system_credit_amount is $10 and this amount is $20, this means that $20 of the $100 will be applied to this line item.

Example: 40
schedule_remaining
boolean
optional

This only applies if the full balance of this line item is not being immediately paid. If true, then a scheduled payment will be automatically created on the line item's due date for the remaining balance. If false, then the balance will remain on the account and must be handled manually within Daxko Operations.

Default: true
Example: true
Responses
HTTP 200 OK
success
boolean
optional

Indicates if the operation succeeded. If it did not, then the errors collection will contain additional information.

{
  "success": true,
  "links": [
    {
      "rel": "receipt",
      "href": "/receipts/d2850a5a-3976-43a3-b7b4-2bc7e00ceee4"
    },
    {
      "rel": "status",
      "href": "/carts/d2850a5a-3976-43a3-b7b4-2bc7e00ceee4/status"
    }
  ]
}

Get Cart Status

/v3/carts/{cart_id}/status
Description

Retrieves the status of a cart.

Path Parameters
cart_id
string

The ID of the cart.

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
Responses
HTTP 200 OK
status
string
optional

The status of the cart.

Valid values: empty, open, closed, processing
description
string
optional

A more descriptive explanation of the status.

Get Cart Receipt

/v3/carts/{cart_id}/receipt
Description

This call gets the receipt of a submitted cart. The receipt is immediately available, but the cart is processed asynchronously and the status can be checked with the Get cart status api call.

Path Parameters
cart_id
string

The ID of the cart.

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
Responses
HTTP 200 OK
order_date
string<datetime>
optional

Date/time the cart was checked out at (UTC)

Example: 2010-10-12T21:06:58.6460000Z
payments
array<object>
optional

A list of payments that have been made against this cart

payment_method
string

Display name of the payment payment_method

Example: Bank Draft
name_on_account
string

Name on the payment method name_on_account

Example: John Doe
description
string

Additional information about the payment method. For example, for EFT and credit card payments, will be a description with the last 4 digits of the account.

Example: (ending in 1234)
amount
number

Payment amount

Example: 55.45
scheduled_payments
array<object>

Payments that have been scheduled for the future as a part of this cart. If no payments were scheduled, then this will be empty.

line_item_id
string

Line item id that this scheduled payment was created for. See line_items.

Example: aaaaaaaa-2f3d-46b4-b524-c20ac6d06ef7
date
string<datetime>

Date that this scheduled payment will be made on.

Example: 2017-10-12T00:00:00.0000000
amount
number

Amount of scheduled payment

Example: 20.75
line_items
array<object>
optional

A list of line items that have been added to the cart

line_item_id
string

The line item ID.

Example: 307b94ae-fb6f-4382-b623-9b772ae07c83
type
string

The line item type. A description of each type is detailed in the table below.

typedescription
reg_feeRegistration Fee
question_feeQuestion Fee
instInstance Fee
Valid values: reg_fee, question_fee, inst
description
string

The line item full description.

Example:
short_description
string

The line item short description.

Example:
level1
string

The line item first-level grouping. This is only used for display purposes.

Example:
level2
string

The line item second-level grouping. This is only used for display purposes.

Example:
level3
string

The line item third-level grouping. This is only used for display purposes.

Example:
level4
string

The line item fourth-level grouping. This is only used for display purposes.

Example:
unit_price
number

The line item price per unit.

Example:
quantity
number

The line item quantity.

Example:
extended_price
number

The price for all quantities. Equal to quantity * unit_price.

Example:
due_date
string<datetime>

The date when the min_payment_amount is due.

Example:
payment_amount
number

The amount that will be paid by the payment method.

Example:
scheduled_amount
number

The balance amount due after discounts, system credits, and payment_amount that was scheduled for the future.

Example:
discounts
array<object>

A list of discounts applied to the line item.

type
string

The type of discount applied. A description of each type is detailed in the table below.

typedescription
promoPromo code
scholScholarship
Valid values: promo, schol
amount
number

Dollar amount of discount

description
string

Discount description

percent
number
optional

The percentage amount

customer
object
optional

Information about customer

phone
string

Customer phone number

unit_id
string

Daxko Operations unit ID

purchased_by
string

Name of person who performed purchased_by

email
string

Email provided at checkout

name
string

Daxko Operations unit name

address
object

Address

line1
string
line2
string
city
string
state
string
zip
string
country
string
vendor
object
optional

Information about vendor

name
string

Name of vendor

Example: My Branch
address
object

Address

line1
string
line2
string
city
string
state
string
zip
string
country
string
tax_id
string

Tax ID of vendor

phone
string

Vendor phone number

{
  "order_date": "2017-10-12T21:06:58.6460000Z",
  "payments": [
    {
      "payment_method": "Bank Draft",
      "name_on_account": "John Doe",
      "description": "(ending in 5577)",
      "amount": 20,
      "scheduled_payments": [
        {
          "line_item_id": "aaaaaaaa-2f3d-46b4-b524-c20ac6d06ef7",
          "date": "2017-10-12T00:00:00.0000000",
          "amount": 90
        },
        {
          "line_item_id": "bbbbbbbb-2f3d-46b4-b524-c20ac6d06ef7",
          "date": "2017-11-12T00:00:00.0000000",
          "amount": 75
        }
      ]
    }
  ],
  "line_items": [
    {
      "line_item_id": "aaaaaaaa-2f3d-46b4-b524-c20ac6d06ef7",
      "product_bundle_id": "4173b7d7-75f8-4735-86fd-ef2772cddb43",
      "type": "inst",
      "description": "(My Branch) My Program - My Session #1 - (10/12/17 - 10/19/17)",
      "short_description": "10/12/17 - 10/19/17",
      "due_date": "2017-10-12T00:00:00.0000000",
      "level1": "John Doe",
      "level2": "My Program",
      "level3": "My Branch",
      "level4": "My Session #1",
      "unit_price": 100,
      "quantity": 1,
      "extended_price": 100,
      "payment_amount": 10,
      "scheduled_amount": 75,
      "discounts": [
        {
          "type": "schol",
          "amount": 15,
          "percent": 0.15,
          "description": "15% Programs Scholarship"
        }
      ]
    },
    {
      "line_item_id": "bbbbbbbb-2f3d-46b4-b524-c20ac6d06ef7",
      "product_bundle_id": "4173b7d7-75f8-4735-86fd-ef2772cddb43",
      "type": "inst",
      "description": "(My Branch) My Program - My Session #1 - (11/12/17 - 11/19/17)",
      "short_description": "11/12/17 - 11/19/17",
      "due_date": "2017-11-12T00:00:00.0000000",
      "level1": "John Doe",
      "level2": "My Program",
      "level3": "My Branch",
      "level4": "My Session #1",
      "unit_price": 100,
      "quantity": 1,
      "extended_price": 100,
      "payment_amount": 10,
      "scheduled_amount": 90,
      "discounts": []
    }
  ],
  "customer": {
    "phone": "(999) 123-4567",
    "unit_id": "300181454",
    "purchased_by": "John Doe",
    "email": "john.doe@example.org",
    "name": "Doe, John",
    "address": {
      "line1": "123 Some Dr.",
      "line2": "",
      "city": "Beverly Hills",
      "state": "CA",
      "zip": "90210",
      "country": "US"
    }
  },
  "vendor": {
    "name": "My Branch",
    "address": {
      "line1": "555 My Branch Dr.",
      "line2": "",
      "city": "Beverly Hills",
      "state": "CA",
      "zip": "90210",
      "country": "US"
    },
    "footer": "FOR YOUTH DEVELOPMENT FOR HEALTHY LIVING FOR SOCIAL RESPONSIBILITY",
    "tax_id": "111112222",
    "phone": "(999) 555-5555"
  }
}

Members

The Member API retrieves member data in the context of the specific members.

/v3/members/
Description

Searches for members based on the provided filters. A maximum of 100 members will be returned.

Query Parameters
first_name
string
optional

The member's first name. If this is provided, the member's last name must also be provided.

Example: Atticus
last_name
string
optional

The member's last name.

Example: Finch
barcode
string
optional

The member's barcode.

Example: 12345-A
phone
string
optional

The member's home phone number. Please note that, when using this field in conjunction with the member's name or barcode, the returned results will emcompass any members that match either the phone number or any of those two fields.

Example: (555) 555-5555
email
string
optional

The member's email address.

Example: atticus.finch@example.com
home_location_id
string
optional

The member's home-branch ID.

Example: B73
membership_type_id
string
optional

The member's membership type ID.

Example: MT61
active_only
boolean
optional

Whether to only return active members.

Example: true
preferred_name
string
optional

The member's preferred name.

Example: Al
Responses
HTTP 200 OK
total
number<int32>
optional

The total number or results returned.

Example: 1
members
array<object>
optional

The results found.

active
boolean
optional

Indicates if the member has an active membership

Example: true
barcode
string
optional

The barcode value that is encoded by the member's membership card

Example: 123543-01
date_of_birth
string<datetime>
optional

The member's date of birth

Example: 1920-05-11T00:00:00+0000
emails
array<object>
optional

A list of member addresses

type
string
optional

The type of email

Example: default
Valid values: default
email
string
optional

The member's email address

Example: atticus.finch@example.com
gender
object
optional

The member's gender

id
string
optional

Standard format for gender type

Example: M
Valid values: M, F
name
string
optional

User-friendly name of gender

Example: Male
Valid values: Male, Female
home_location
object
optional

The member's designated home location

id
string
optional

The ID of the location

Example: B144
type
string
optional

The type of the location

Example: branch
Valid values: branch
name
string
optional

The name of the location

Example: Downtown Maycomb
join_date
string<datetime>
optional

The date the member first joined

Example: 1947-05-11T00:00:00+0000
member_id
string
optional

The member's ID

Example: 143343-01
member_type
string
optional

The member's membership type

Example: Active Attorneys Level
member_unit_id
string
optional

The member's unit ID

Example: 132243
name
object
optional

The member's name

prefix
string
optional

The member's prefix

Example: Mr.
first_name
string
optional

The member's first name

Example: Atticus
middle_name
string
optional

The member's middle name

Example: H
last_name
string
optional

The member's last name

Example: Finch
suffix
string
optional

The member's suffix

Example: Esq.
preferred_name
string
optional

The member's preferred name

Example: Al
phones
array<object>
optional

A list of member phone numbers

type
string
optional

The type of phone number

Example: Home
Valid values: home, mobile, emergency
number
string
optional

The phone full number

Example: (555) 555-5555
allow_sms
string
optional

The SMS texting status of the phone number

Example: Unverified

Get member details

/v3/members/{member_id}
Description

Retrieves detailed information about a specific member.

Path Parameters
member_id
string

The ID of the member

Responses
HTTP 200 OK
active
boolean
optional

Indicates whether the member has an active membership

addresses
array<object>
optional

A list of member addresses

type
string
optional

The type of address

Valid values: home
street1
string
optional

The first street part of the address

street2
string
optional

The second street part of the address

city
string
optional

The city of the address

state
string
optional

The state of the address

zip_code
string
optional

The zip code of the address

country
string
optional

The country of the address

barcode
string
optional

The barcode value that is encoded by the member's membership card

date_of_birth
string<datetime>
optional

The member's date of birth

emails
array<object>
optional

A list of member addresses

type
string
optional

The type of email

Valid values: default
email
string
optional

A member's email address

gender
object
optional

The member's gender

id
string
optional

Standard format for gender type

Valid values: M, F
name
string
optional

User-friendly name of gender

Valid values: Male, Female
gender_info
string
optional

The member's addition gender identity

home_location
object
optional

The member's designated home location

id
string
optional

The ID of the location

type
string
optional

The type of the location

Valid values: branch
name
string
optional

The name of the location

join_date
string<datetime>
optional

The date the member first joined

member_id
string
optional

The member's ID

member_type
string
optional

The member's membership type

member_unit_id
string
optional

The member's unit ID

most_recent_join_date
string<datetime>
optional

The date the member last joined

name
object
optional

The member's name

prefix
string
optional

The member's name prefix

first_name
string
optional

The member's first name

middle_name
string
optional

The member's middle name

last_name
string
optional

The member's last name

suffix
string
optional

The member's name suffix

preferred_name
string
optional

The member's preferred name

phones
array<object>
optional

A list of member phone numbers

type
string
optional

The type of phone number

Valid values: home, mobile, emergency
area_code
string
optional

The area code or prefix of the phone number

number
string
optional

The phone number

extension
string
optional

The extension of the phone number

photos
array<object>
optional

A list of member photos

url
string
optional

The URL of the member photo

type
string
optional

The type of member photo

Valid values: thumbnail, regular
prefix
string
optional

The prefix for the member.

suffix
string
optional

The suffix for the member.

created_at
string<datetime>
optional

When the member was added, in the branch’s local time.

last_canceled
string<datetime>
optional

When the member’s membership was last canceled or terminated, in the branch’s local time.

health_screening_status_id
string
optional

The ID of member health screening status (available if client feature is enabled).

Example: cleared
Valid values: cleared, not_cleared
health_screening_expiry_date
string<datetime>
optional

The expiry date of member health screening (available if client feature is enabled).

Example: 2022-07-21T00:00:00.0000000

Update member details

/v3/members/{member_id}
Description

Updates the specified member's profile.

Path Parameters
member_id
string

The ID of the member

Example: 123424-24
Request Body
addresses
array<object>
optional

A list of member addresses to update.

type
string

The type of address

Example: home
Valid values: home
street1
string

The first street part of the address

Example: 123 Elm. St.
street2
string
optional

The second street part of the address

Example: Apt. 124
city
string

The city of the address

Example: Maycomb
state
string

The state of the address

Example: AL
zip_code
string

The Zip code of the address

Example: 36123
country
string

The country of the address

Example: USA
date_of_birth
string<date>

The member's date of birth

Example: 1920-12-31
emails
array<object>
optional

A list of member addresses to be updated.

type
string

The type of email

Valid values: default
email
string

A member's email address

Example: boo.radley@example.com
gender
object

The member's gender

id
string

Standard format for gender member_type

Example: M
Valid values: M, F
name
object

The member's name

prefix
string
optional

The member's name prefix

Example: Mr.
Valid values: Mr., Ms., Mrs., Miss, Dr., Rev., Rab., Can., Hon.
first_name
string

The member's first name

Example: Boo
middle_name
string
optional

The member's middle name

Example: M
last_name
string

The member's last name

Example: Radley
suffix
string
optional

The members' name suffix

Example: Sr.
Valid values: Jr., Sr., I, II, III, IV, V
phones
array<object>
optional

A list of member phone numbers to update

type
string

The type of phone number

Example: home
Valid values: home, mobile, emergency
area_code
string

The area code or prefix of the phone number

Example: 555
number
string
optional

The phone number

Example: 555-5555
extension
string
optional

The extension of the phone number

Example: Ext. 514
Responses
HTTP 204 No content

Update member type

/v3/members/{member_id}/member_type
Description

Update a member to adult, child or set as primary.

Path Parameters
member_id
string

The ID of the member.

Example: 4723647872-01
Request Body
member_type
string

The member type the member should be updated to.

Valid values: adult, child, primary
Responses
HTTP 204 No content

Get member relationships

/v3/members/{member_id}/relationships
Description

Retrieves relationships for a member.

For example, if Robert is Susie's grandfather, then Susie would be listed in Robert's relationships with relationship, indicating Robert's relationship to Susie and whether Robert is authorized as a pickup for Susie.

Path Parameters
member_id
string

The ID of the member.

Example: 4723647872-01
Query Parameters
authorized_pickup
boolean
optional

If provided, it will filter the results to only those for whom the member is designated as an authorized pickup.

Default:
Valid values: true, false
relationship_type_id
string
optional

When provided, the query will filter to only the relationships for the provided ID.

The relationship_type_id should be a valid ID from list-relationship types

Example: REL160
Responses
HTTP 200 OK
name
object
optional

The member's name.

first_name
string
optional

The member's first name.

Example: Steve
last_name
string
optional

The member's last name.

Example: Rogers
source_id
string
optional

The source ID of the member.

Example: RELMEM1234567
unit_id
string
optional

The member's unit ID.

Example: 4723647872
member_type
string
optional

The member's membership type

Example: Adult
relationships
array<object>
optional

The relationships associated with the member.

id
string
optional

Id of the relationship.

Example: RELMEM3
member_id
string
optional

The ID of the related member.

Example: 4723647872-02
name
object
optional

The name of the related member.

first_name
string
optional

The first name of the related member.

Example: Bruce
last_name
string
optional

The last name of the related member.

Example: Banner
contact
object
optional

Contact information of the related member.

phone
string
optional

The phone of the related member.

Example: (555) 555-5555
email
string
optional

The email of the related member.

Example: bruce.banner@example.com
relationship_type
object
optional
id
string
optional

The ID of the relationship type.

Example: REL160
name
string
optional

The name of the relationship type.

Example: friend
authorized_pickup
boolean
optional

Whether the member is an authorized pickup for the related member.

Example: false

Get member online account

/v3/members/{member_id}/online_account
Description

Retrieves the username of a member.

Path Parameters
member_id
string

The ID of the member

Responses
HTTP 200 OK
username
string
optional

The member's username

Example: jdoe

Get member notes

/v3/members/{member_id}/notes
Description

Retrieves a list of all notes for a member.

Path Parameters
member_id
string

The ID of the member.

Example: 300180263-02
Query Parameters
note_types
string
optional

A comma-separated list of categories of notes to be fetched. If not provided, then all the notes for a member will be fetched. You may use the get-member-note-types endpoint for retrieving a list of all categories.

Default: All
Example: General,Bad Debt
Responses
HTTP 200 OK
total
number
optional

The total number of notes.

Example: 1
notes
array<object>
optional

A list of notes.

note_id
number
optional

The ID of the note.

Example: 2086610
created_at
string<datetime>
optional

The timestamp (in UTC) when the note was created.

Example: 2020-10-06T12:22:46.0930000
member_name
string
optional

The name of the member.

Example: Quinata, Isabella
note
string
optional

The message of the note.

Example: This is a new note
note_type
string
optional

The category of the note.

Example: General
author
string
optional

The name of the employee who created the note.

Example: Steven Williams
notify_from
string<date>
optional

The start date for displaying the note.

Example: 2020-06-16
notify_to
string<date>
optional

The end date for displaying the note.

Example: 2020-06-20
is_active
boolean
optional

Whether the note is active.

Example: true

Add member note

/v3/members/{member_id}/notes
Description

Add a note to a member's account.

Path Parameters
member_id
string

The ID of the member

Request Body
note_type
string

The type of note

Example: Volunteer
Valid values: Affiliations, Aquatics, Bad Debt, Behavior, Billing, Childcare, Employment, Financial Assistance, General, Guest Passes, Impact Driver, Interests, Legacy Data, Medical, Membership, NPS, Staff Action, Volunteer
note
string

The content of the note

Example: This is the greatest note in the history of notes, so says I.
author
string

The name of the note's author

Example: Yours truly
notify_from
string
optional

The start date for displaying the note

Example: 2020-06-16
notify_to
string
optional

The end date for displaying the note

Example: 2020-06-20
Responses
HTTP 200 OK
success
boolean
optional

Whether the operation succeeded

Example: true

Get my member info

/v3/members/me
Description

Retrieves basic information about a member using a member scoped access_token. See Member Authentication Tutorial

Responses
HTTP 200 OK
member_id
string
optional

The member's ID

member_unit_id
string
optional

The member's unit ID

name
object
optional

The member's name

first_name
string
optional

The member's first name

last_name
string
optional

The member's last name

preferred_name
string
optional

The member's preferred name

List Member Types

/v3/members/member_types
Description

Retrieves a list of all member types

Responses
HTTP 200 OK
member_types
array<object>

A list of member types

id
number

The ID of the member type

name
string

The name of the member type

Member Check-ins

/v3/members/{member_id}/check_ins
Description

Retrieves a list of check-ins for a specified member along with the location where the check-in occurred. You must specify a custom time frame to retrieve check-ins with the start_date and end_date query parameters.

For example, GET /members/9999-99/check_ins?start_date=2017-03-02T00:00:00Z&end_date=2017-03-03T00:00:00Z would return the check-ins for member 9999-99 from midnight March 2, 2017 (UTC time) to midnight March 3, 2017 (UTC time).

Path Parameters
member_id
string

The ID of the member returned from the /member/login endpoint.

Query Parameters
start_date
string <datetime>

The start date in UTC time (ISO 8601 format).

end_date
string <datetime>

The end date in UTC time (ISO 8601 format).

Responses
HTTP 200 OK
check_ins
array<object>
date
string<date-time>
location
object
id
string

The location identifier.

type
string

The location type.

Valid values: branch
name
string

The name of the location.

total
integer
Example: 1

Get member registrations

/v3/members/{member_id}/registrations
Description

Get the programs a member has attended or has registered for.

Path Parameters
member_id
string

The ID of the member.

Example: 300180543-01
Query Parameters
start_date
string <date>
optional

The start of the date range.

Example: 2020/01/20
end_date
string <date>
optional

The end of the date range.

Example: 2020/12/31
program_type
string
optional

The type of program by which to filter the query.

Example: child_care
Valid values: standard, package, child_care, camp
page_number
number
optional

When paginating over the results, the page number over which to iterate results.

Default: 1
Example: 1
page_size
number
optional

The number of results to be returned.

Default: 25
Example: 25
include_all_unit_registrations
bool
optional

Whether to return all of the registrations for member's unit.

Default: false
Example: true
Responses
HTTP 200 OK
registrations
array<object>
optional

The list of registrations for the member.

program_id
string
optional

The ID of the program.

Example: CMP4245231
program_name
string
optional

The name of the program.

Example: Underwater basket-weaving
program_type
string
optional

The type of program.

Example: camp
Valid values: standard, package, child_care, camp
offering_id
string
optional

The ID of the program offering.

Example: CI4246705
offering_name
string
optional

The name of the program offering.

Example: Advanced weeklong summer session
location_id
string
optional

The ID of the branch or site for the activity.

Example: B38
location_name
string
optional

The name of the location

Example: Downtown branch
instance_details
object
optional

The instance details (available only if program_type is either child_care or camp).

start_date
string<date>
optional

The start date of the program offering.

Example: 01/01/2020
end_date
string<date>
optional

The end date of the program offering.

Example: 12/31/2020
days_of_the_week
array<string>
optional

The days of the week registered for.

Example: "[ Monday, Tuesday, Friday ]"
instances
array<object>
optional

The list of instances in the program offering.

start_date
string<date>
optional

The start date of the instance.

Example: 01/01/2020
end_date
string<date>
optional

The end date of the instance.

Example: 12/31/2020
is_on_waiting_list
boolean
optional

Whether the member is on waiting list for the given instance.

segment_details
object
optional

The segment details (available only if program_type is standard).

start_date
string<date>
optional

The start date of the program offering.

Example: 01/01/2020
end_date
string<date>
optional

The end date of the program offering.

Example: 12/31/2020
start_time
string<time>
optional

The start time of set for the session.

Example: 05:00
end_time
string<time>
optional

The end time of set for the session.

Example: 07:00
days_of_the_week
array<string>
optional

The days of the week set for the session.

Example: "[ Monday, Tuesday, Friday ]"
segments
array<object>
optional

The list of segments in the program offering.

start_date
string<date>
optional

The start date of the segment.

Example: 01/01/2020
end_date
string<date>
optional

The start date of the segment.

Example: 12/31/2020
is_on_waiting_list
boolean
optional

Whether the member is on the waiting list for the current segment.

session_details
object
optional

The session details (available only if program_type is package).

redeemed_instances
number
optional

The number of sessions redeemed.

Example: 3
remaining_instances
number
optional

The number of sessions remaining.

Example: 7
total_instances
number
optional

The total number of sessions.

Example: 10
duration
number
optional

The duration of each session, in minutes.

Example: 60
expiration_date
string<date>
optional

The expiration date of the session.

Example: 12/31/2020
instructor_name
string
optional

The name of the default instructor for the session.

Example: Joe Smith.
is_completed
boolean
optional

Whether the offering is completed (e.g., whether all sessions have been redeemed or it is too late to redeem them).

redeemed_sessions
array<object>
optional

The list of redeemed sessions.

redeemed_date
string<date>
optional

The date on which this session was redeemed.

Example: 12/01/2020
instructor_name
string
optional

The instructor name with which the session was redeemed.

Example: Navdeep Singh
total
number
optional

The total number of registrations returned.

Example: 1
has_more_records
boolean
optional

Whether there are more records available to be queried.

{
  "registrations": [
    {
      "program_id": "PP63336",
      "program_name": "Pgm PAckage",
      "program_type": "package",
      "offering_id": "PKG922829",
      "offering_name": "package 2",
      "location_id": "B38",
      "location_name": "YMCA - South Hampton Roads Branch",
      "session_details": {
        "redeemed_instances": 3,
        "remaining_instances": 7,
        "total_instances": 10,
        "duration": 60,
        "expiration_date": "11/26/2020",
        "instructor_name": "Navdeep Rana",
        "is_completed": false,
        "redeemed_sessions": [
          {
            "redeemed_date": "05/26/2020",
            "instructor_name": "Navdeep Rana"
          },
          {
            "redeemed_date": "05/27/2020",
            "instructor_name": "Navdeep Rana"
          },
          {
            "redeemed_date": "05/27/2020",
            "instructor_name": "Caleb Tucker"
          }
        ]
      }
    },
    {
      "program_id": "CC4245230",
      "program_name": "AA CC Pgm",
      "program_type": "child_care",
      "offering_id": "RP4223246",
      "offering_name": "AA CC RatePlan",
      "location_id": "B38",
      "location_name": "YMCA - South Hampton Roads Branch",
      "instance_details": {
        "start_date": "01/01/2020",
        "end_date": "12/31/2020",
        "days_of_the_week": [
          "Wednesday",
          "Friday",
          "Sunday"
        ],
        "instances": [
          {
            "start_date": "01/01/2020",
            "end_date": "12/31/2020",
            "is_on_waitling_list": true
          }
        ]
      }
    },
    {
      "program_id": "TMP63334",
      "program_name": "Standard Pgm",
      "program_type": "standard",
      "offering_id": "SES922827",
      "offering_name": "Standard Pgm Session 2",
      "location_id": "B38",
      "location_name": "YMCA - South Hampton Roads Branch",
      "segment_details": {
        "start_date": "01/01/2020",
        "end_date": "12/31/2020",
        "start_time": "16:00",
        "end_time": "18:00",
        "days_of_the_week": [
          "Wednesday",
          "Friday",
          "Sunday"
        ],
        "segments": [
          {
            "start_date": "01/01/2020",
            "end_date": "06/30/2020",
            "is_on_waitling_list": false
          }
        ]
      }
    }
  ],
  "total": 3,
  "has_more_records": false
}

Get member alerts

/v3/members/{member_id}/alerts
Description

Retrieves a list of all alerts for a member. Note that, if neither start_date and end_date are provided, only active alerts will be listed.

Path Parameters
member_id
string

The ID of the member.

Example: 300180263-02
Query Parameters
start_date
string <date>
optional

Optionally, whether to filter the alerts to those being displayed after the provided date.

Example: 2020-10-11
end_date
string <date>
optional

Optionally, whether to filter the alerts those those being displayed before the provided date.

Example: 2020-10-30
Responses
HTTP 200 OK
total
number
optional

The total number of alerts.

Example: 1
alerts
array<object>
optional

A list of alerts.

id
number
optional

The ID of the alert.

Example: 2086610
created_at
string<datetime>
optional

The timestamp (in UTC) when the alert was created.

Example: 2020-10-06T12:22:46.0930000
member_name
string
optional

The name of the member.

Example: Quinata, Isabella
alert
string
optional

The message of the alert.

Example: This is a new alert
created_by
string
optional

The name of the admin who created the alert.

Example: Steven Williams
start_date
string<date>
optional

The start date for displaying the alert.

Example: 2020-06-16
end_date
string<date>
optional

The end date for displaying the alert.

Example: 2020-06-20
priority
string
optional

The priority of the alert.

Example: Medium
Valid values: Low, Medium, High
show_on_unit_info
boolean
optional

Whether to show the alert at the unit level.

Example: false
remove_after_first_check_in
boolean
optional

Whether to remove the alert after the first check-in.

Example: true
show_for_everyone_on_check_in
boolean
optional

Whether to show the alert for everyone upon check-in.

Example: false
is_active
boolean
optional

Whether the alert is active now.

Example: true

Create member alert

/v3/members/{member_id}/alerts
Description

Creates a new alert for a member.

Path Parameters
member_id
string

The ID of the member.

Example: 300180263-02
Request Body
alert
string

The content/message of the alert.

Example: This is a new alert
priority
string

The priority of the alert.

Example: Medium
Valid values: Low, Medium, High
start_date
string<date>

The start date for displaying the alert.

Example: 2020-06-16
end_date
string<date>
optional

The end date for displaying the alert.

Example: 2020-06-20
show_on_unit_info
boolean
optional

Whether to show the alert for all member of the unit.

Default: false
Example: false
remove_after_first_check_in
boolean
optional

Whether to remove the alert after the first check-in.

Default: false
Example: true
show_for_everyone_on_check_in
boolean
optional

Whether to show the alert for everyone upon check-in.

Default: false
Example: false
Responses
HTTP 201 Created
id
number
optional

The ID of the alert created.

Example: 2086623

Get member alert by ID

/v3/members/{member_id}/alerts/{alert_id}
Description

Retrieves the details of a member alert.

Path Parameters
member_id
string

The ID of the member.

Example: 300180263-02
alert_id
number

The ID of the alert.

Example: 2086611
Responses
HTTP 200 OK
id
number
optional

The ID of the alert.

Example: 2086610
created_at
string<datetime>
optional

The timestamp (in UTC) when the alert was created.

Example: 2020-10-06T12:22:46.0930000
member_name
string
optional

The name of the member.

Example: Quinata, Isabella
alert
string
optional

The message of the alert.

Example: This is a new alert
created_by
string
optional

The name of the admin who created the alert.

Example: Steven Williams
start_date
string<date>
optional

The start date for displaying the alert.

Example: 2020-06-16
end_date
string<date>
optional

The end date for displaying the alert.

Example: 2020-06-20
priority
string
optional

The priority of the alert.

Example: Medium
Valid values: Low, Medium, High
show_on_unit_info
boolean
optional

Whether to show the alert at the unit level.

Example: false
remove_after_first_check_in
boolean
optional

Whether to remove the alert after the first check-in.

Example: true
show_for_everyone_on_check_in
boolean
optional

Whether to show the alert for everyone upon check-in.

Example: false
is_active
boolean
optional

Whether the alert is active now.

Example: true

Update member alert by ID

/v3/members/{member_id}/alerts/{alert_id}
Description

Updates the details of a member alert. The fields which are not provided in the request body are not updated.

Path Parameters
member_id
string

The ID of the member.

Example: 300180263-02
alert_id
number

The ID of the alert.

Example: 2086611
Request Body
alert
string
optional

The new content/message of the alert.

Example: This is an edited alert
priority
string
optional

The new priority of the alert.

Example: Medium
Valid values: Low, Medium, High
start_date
string<date>
optional

The new start date for displaying the alert.

Example: 2020-06-16
end_date
string<date>
optional

The new end date for displaying the alert.

Example: 2020-06-20
set_end_date_to_null
boolean
optional

Whether to set the end_date to null.

Default: false
Example: true
show_on_unit_info
boolean
optional

Whether to show the alert for all members in the unit.

Example: false
remove_after_first_check_in
boolean
optional

Whether to remove the alert after the first check-in.

Example: true
show_for_everyone_on_check_in
boolean
optional

Whether to show the alert for everyone upon check-in.

Example: false
Responses
HTTP 204 No Content

Delete member alert by ID

/v3/members/{member_id}/alerts/{alert_id}
Description

Deletes a member's alert.

Path Parameters
member_id
string

The ID of the member.

Example: 300180263-02
alert_id
number

The ID of the alert.

Example: 2086611
Responses
HTTP 204 No Content

Get member-note types

/v3/members/note_types
Description

Retrieves a list of categories for member notes.

Responses
HTTP 200 OK
total
number
optional

The total number of note types.

Example: 7
note_types
array<string>
optional

A list of types.

Example: ["Medical","General","Behavior","Interests","Childcare","Financial Assistance","Aquatics"]

Get member note

/v3/members/{member_id}/notes/{note_id}
Description

Retrieves the details of a member note.

Path Parameters
member_id
string

The ID of the member.

Example: 300180263-02
note_id
number

The ID of the note.

Example: 2086611
Responses
HTTP 200 OK
note_id
number
optional

The ID of the note.

Example: 2086610
created_at
string<datetime>
optional

The timestamp (in UTC) when the note was created.

Example: 2020-10-06T12:22:46.0930000
member_name
string
optional

The name of the member.

Example: Quinata, Isabella
note
string
optional

The message of the note.

Example: This is a new note
note_type
string
optional

The category of the note.

Example: General
author
string
optional

The name of the employee who created the note.

Example: Steven Williams
notify_from
string<date>
optional

The start date for displaying the note.

Example: 2020-06-16
notify_to
string<date>
optional

The end date for displaying the note.

Example: 2020-06-20
is_active
boolean
optional

Whether the note is active.

Example: true

Delete member note

/v3/members/{member_id}/notes/{note_id}
Description

Deletes a member's note.

Path Parameters
member_id
string

The ID of the member.

Example: 300180263-02
note_id
string

The ID of the note.

Example: 2086611
Responses
HTTP 204 No Content

Get the member interest questions

/v3/members/{member_id}/interests
Description

Get the custom member questions related to member interests

Path Parameters
member_id
string

The ID of the member.

Example: 300180543-01
Responses
HTTP 200 OK
interest_questions
array<object>

The list of member interest questions.

interest_key
string

The key of the member interest question.

Example: interest1
value
object

The detailed information related to the custom member question.

type
string
optional

The data-type of custom member question.

title
string
optional

The display name of custom member question.

Example: Areas of Interest
required
boolean
optional

Whether it is a required member question.

read_only
boolean
optional

Whether it is a read-only member question.

possible_answers
array<object>
optional

The list accepted answers for this member question.

id
string

The id of the answer to be passed in as an answer.

Example: 1
value
string

The text value of the answer.

Example: Strength Training
display_value
string

What should be displayed to the member.

Example: Strength Training
hide_empty_value
boolean
optional
empty_value
string
optional
current_answer
array<string>
optional

The list possbile answer IDs that the member has selected for this question.

Example: "[ '32', '64' ]"

Update member interest question answers

/v3/members/{member_id}/interests/{interest_key}
Description

Update the member's interest question(s) selected answer(s)

Path Parameters
member_id
string

The ID of the member.

Example: 300180543-01
interest_key
string

The key of the member interest question being updated.

Example: interest1
Request Body
answers
array<number>

The new possbile answer IDs to save for the member.

Example: "[ 32, 64 ]"
Responses
HTTP 200 OK
success
boolean
optional

Whether the update was successful.

error_message
string
optional

Why the update was not successful.

Get all member photos

/v3/member-photos
Description

Retrieves a list of all the photos for members.

Query Parameters
updated_after
string
optional

A date time value that can be used to only retrieve member photos updated after a certain date. This can be used to avoid returning and paging through all result if just looking for the most recent updates. Not including this will return all member photos. The date time value is in Central Time

Example: Wed Dec 05 2018 09:58:32 GMT-0600 (Central Standard Time)
after
string
optional

This parameter is used as a cursor to fetch the next page of results. Use the after value from a previously returned response body

View the Paging section of the Getting Started Tutorial for more information.

Example: c2FtcGxlIG5hbWUsb2ZmZXJpbmcjOTk5OS1DQzEyMzQtUlA1Njc4
page_size
integer
optional

The number of items to return in a single response. The maximum value is 1000.

Default: 1000
Responses
HTTP 200 OK
total
integer
optional

The total number of items available for this query.

limit
integer
optional

The maximum number of items requested.

after
string<byte>
optional

A pagination cursor to use when fetching the next page of results. This value will be omitted if the response contains the last page of results. View the Paging section of the Getting Started Tutorial for more information.

Example: c2FtcGxlIG5hbWUsb2ZmZXJpbmcjOTk5OS1DQzEyMzQtUlA1Njc4
members
array<object>
optional

A list of member info and photos

member_id
string
optional

The ID of the member

photos
array<object>
optional

A list of the member's photos

url
string
optional

The URL of the member photo

type
string
optional

The type of member photo

Valid values: thumbnail, regular
last_updated
string<datetime>
optional

The date and time the member's photo was last updated

Membership

The Membership API allows members to join or renew at a branch.

List membership branches

/v3/membership/branches
Description

This endpoint returns a list of branches that can handle membership join.

Query Parameters
registration_type
string
optional

Restricts the list of branches to only be associated with in-house or online membership join.

Default: online
Example: online
Valid values: in_house, online
renew
boolean
optional

When true, the renew parameter restricts the list of branches to only include branches that allow members to renew their membership. When false, the renew parameter does not restrict the list of branches.

Default: false
Example: true
Responses
HTTP 200 OK
branches
array<object>

The list of branches that allow members to join via the API

id
string

The branch ID

Example: B32
name
string

The branch name

Example: South Hampton

List rate questions

/v3/membership/rate_questions
Description

This endpoint returns a list of membership rate questions.

Responses
HTTP 200 OK
rate_questions
array<object>
optional

The list of rate questions

question_id
string

The Rate Question ID

Example: RQ1234
name
string

The Rate Question name

Example: Please indicate your Annual Household Income?
display_order
string

The order in which rate question will be listed

Example: 1
possible_answers
array<object>
answer_id
string

The Rate Question Answer ID

Example: RA5678
question_id
string
optional

The Related/Parent Rate Question ID

Example: RQ1234
value
string

The Rate Question Answer ID answer

Example: $60,000 - $64,999
display_order
string

The order in which rate question will be listed

Example: 1
{
  "rate_questions": [
    {
      "question_id": "RQ1234",
      "name": "Please indicate your Annual Household Income?",
      "display_order": 1,
      "possible_answers": [
        {
          "answer_id": "RA5678",
          "question_id": "RQ1234",
          "value": "$60,000 - $64,999",
          "display_order": 1
        },
        "..."
      ]
    }
  ]
}

List discount groups

/v3/membership/discount_groups
Description

This endpoint returns a list of membership discount groups.

Query Parameters
branch_id
string

Restricts the list of discount groups to a particular branch.

Example: B32
registration_type
string
optional

Restricts the list of discount groups to only include membership types associated with in-house or online membership join.

Default: online
Example: online
Valid values: in_house, online
Responses
HTTP 200 OK
discount_groups
array<object>
optional

The list of discount groups

id
string

The discount group ID

Example: DG5982
name
string

The discount group name

Example: Armed Services Members
description
string
optional

The discount group description

Example: A 20 percent discount for members of our military.
promotion_enabled
boolean
optional

Indicates if the promotion is enabled for the registration type

Example: true
promotion_code
string
optional

The discount group promo code

Example: WELCOME
promotion_start_date
string
optional

The promotion availability start date, won't be set if the promotion runs indefinitely

Example: 2022-08-01T00:00:00.0000000
promotion_end_date
string
optional

The promotion availability end date, won't be set if the promotion runs indefinitely

Example: 2022-09-01T00:00:00.0000000
membership_types
array<object>
id
string

The membership type ID

Example: MT9212
name
string

The membership type description

Example: Family Membership
join_fee_original
number

The original membership join fee amount, prior to discount

Example: 50
join_fee_discount
number

The amount discounted from the original membership join fee amount

Example: 25
rate_original
number

The original membership rate amount, prior to discount

Example: 75
rate_discount
number

The amount discounted from the original membership rate

Example: 40
rate_subsidy
number

The membership rate subsidy amount

Example: 1
requires_approval
boolean

Indicates if this discount group requires approval

Example: true
expires_in_month
string<datetime>
optional

Indicates how long the discount group applies after the member joins or renews.

Example: 3
{
  "discount_groups": [
    {
      "id": "DG22412",
      "name": "Armed Services Members",
      "promotion_enabled": true,
      "promotion_code": "WELCOME",
      "promotion_start_date": "2022-08-17T00:00:00.0000000",
      "promotion_end_date": "2022-08-31T00:00:00.0000000",
      "membership_types": [
        {
          "id": "MT2891",
          "expires_in_month": 3,
          "join_fee_original": 50,
          "join_fee_discount": 25,
          "name": "Family Membership",
          "rate_original": 75,
          "rate_discount": 40,
          "rate_subsidy": 0,
          "requires_approval": true
        },
        "..."
      ]
    },
    "..."
  ]
}

List membership types

/v3/membership/membership_types
Description

This endpoint returns a list of membership types.

Query Parameters
branch_id
string

Restricts the list of membership types to a particular branch.

Example: B32
discount_group_ids
string
optional

Allows the supplied discount group ids to be applied to the fees for the membership type (if the discount is applicable to the membership type).

Example: DG123,DG456
rate_question_answer_ids
string
optional

Allows the supplied rate questions answer ids' related discount group ids to be applied to the fees for the membership type (if the discount is applicable to the membership type).

Example: RA123,RA456
registration_type
string
optional

Restricts the list of membership types to only be associated with in-house or online membership join.

Default: online
Example: online
Valid values: in_house, online
show_inactive
boolean
optional

Whether to show inactive membership types.

Default: false
Example: true
Responses
HTTP 200 OK
membership_types
array<object>
optional

The list of membership types

id
string

The membership type ID

Example: MT512
name
string

The membership type name

Example: Family
description
string
optional

The membership type description

Example: A membership for the whole family
term
object
description
string

The term description

Example: Monthly
months_in_term
number

The number of months associated with the term

Example: 1
is_prorated_to_draft_day
boolean

Indicates if the fee will be prorated to the draft day

Example: true
join_fee_spread_over_month
number

Number of months the join fee will be equally spread across

Example: 1
is_auto_renew
boolean

Indicates if this membership type will auto renew

Example: true
is_discount_allowed
boolean

Indicates if this membership type allows discounts

Example: true
online_draft_day
number

If is_auto_renew equals true, this is the date of the month for drafting, otherwise it does not apply

Example: 28
prorate_fee_round_to_dollar
boolean

Indicates if a prorated fee will be rounded to the nearest dollar

Example: true
fees
array<object>
optional
type
string

The type of the fee

Example: membership_fee
name
string

The fee name

Example: Membership Due
amount
number

The fee amount

Example: 400
sales_tax_applies
boolean

Indicates if sales tax applies to this fee

Example: true
discounts
array<object>
optional
id
string

The discount group ID

Example: DG977
name
string

The discount group name

Example: COA
type
string

Inidicates if this discount is a discount or subsidy

Example: discount
original_amount
number

This discount original_amount

Example: 75
applied_amount
number

This is how much of the original_amount was able to be applied to the associated fee

Example: 75
taxes
array<object>
optional

Detail tax info for this discount group

amount
number

tax amount

Example: 2.56
name
string

tax name

Example: Sales Tax
rate
number

tax rate

Example: 0.0560
taxes
array<object>
optional

Detail tax info for this fee

amount
number

tax amount

Example: 2.56
name
string

tax name

Example: Sales Tax
rate
number

tax rate

Example: 0.0560
[
  {
    "id": "MT507",
    "name": "Family",
    "term": {
      "description": "Monthly",
      "months_in_term": 1
    },
    "is_prorated_to_draft_day": true,
    "join_fee_spread_over_month": 1,
    "is_auto_renew": true,
    "is_discount_allowed": true,
    "online_draft_day": 28,
    "prorate_fee_round_to_dollar": false,
    "fees": [
      {
        "type": "join_fee",
        "name": "Join Fee",
        "amount": 75,
        "sales_tax_applies": false,
        "discounts": []
      },
      {
        "type": "membership_fee",
        "name": "Membership Due",
        "amount": 83,
        "sales_tax_applies": false,
        "discounts": [
          {
            "id": "DG2306",
            "name": "Gateway Bank Senior Management",
            "type": "subsidy",
            "original_amount": 82,
            "applied_amount": 82
          },
          "..."
        ]
      }
    ]
  }
]

List member rates

/v3/membership/member_rates
Description

This endpoint returns a list of member rates (member rate clients only).

Query Parameters
branch_id
string

Restricts the list of member rates to a particular branch.

Example: B32
registration_type
string
optional

Restricts the list of membe rates to only be associated with in-house or online membership join.

Default: online
Example: online
Valid values: in_house, online
Responses
HTTP 200 OK
member_rates
array<object>
optional

The list of member rates

id
string

The member rate id

Example: MR1234
name
string

The member rate name

Example: My Member Rate
description
string

The member rate description

Example: A yearly membership
frequency
string
Example: one-time
Valid values: one-time, monthly
amount
number

Member rate amount

Example: 100.00
member_type
string
Example: adult
Valid values: adult, child
{
  "member_rates": [
    {
      "id": "MR1105",
      "name": "My Test Membership",
      "description": "This is my description to show up.",
      "frequency": "one-time",
      "amount": 100,
      "member_type": "child"
    },
    {
      "id": "MR1106",
      "name": "My Test Membership",
      "description": "This is my description to show up.",
      "frequency": "monthly",
      "amount": 10,
      "member_type": "child"
    }
  ]
}

List age groups

/v3/membership/age_groups
Description

This lists out age groups set up by the client. If the client has not set up explicit age groups (see Membership : Settings : Age Groups in Daxko Operations), then this will return the any_adult and any_child as the only results. The value any_adult or any_child may be used in place of any call that requires age_group_id as an input parameter if you do not with to be forced to use the granual age groups set up by the client.

Responses
HTTP 200 OK
age_groups
array<object>
optional

List of age groups

id
string
optional

The age group ID

Example: CDAG1111
name
string
optional

The age group name

Example: Youth
min_age
number
optional

Minimum age (inclusive) of this age group

Example: 1
max_age
number
optional

Maximum age (inclusive) of this age group

Example: 18
description
string
optional

Description of this age group

Example: 18 and under
category
string
optional

This groups the age groups into either a child or adult bucket if explicit age groups are set up by the client. You may use this value in place of any calls that require age group id if you do not want to get too granular.

Example: any_child
Valid values: any_adult, any_child
{
  "age_groups": [
    {
      "id": "CDAG1111",
      "name": "Youth",
      "min_age": 0,
      "max_age": 12,
      "description": "12 and under",
      "category": "any_child"
    },
    {
      "id": "CDAG2222",
      "name": "Teen",
      "min_age": 13,
      "max_age": 20,
      "description": "13-20",
      "category": "any_adult"
    },
    {
      "id": "CDAG3333",
      "name": "Adult",
      "min_age": 21,
      "max_age": 64,
      "description": "21-64",
      "category": "any_adult"
    },
    {
      "id": "CDAG4444",
      "name": "Senior",
      "min_age": 65,
      "max_age": 999,
      "description": "65+",
      "category": "any_adult"
    }
  ]
}

Start join process

/v3/membership/join
Description

Starts the join process. The returned cart_id will be required on subsequent calls to build up the membership.

Request Body
membership_type_id
string
optional

Membership type id to start join process with. (required for unit rate customers)

Example: MT1234
branch_id
string
optional

Branch id to start join process with. (required for member rate customers)

Example: B1234
registration_type
string
optional

Sets the context of the registration

Default: online
Example: online
Valid values: online, in_house
Responses
HTTP 201 Created
cart_id
string
optional

The ID of the cart that was created. Use this ID for any membership API calls that require the cart_id as a path parameter. NOTE: This cart_id is only valid for membership API calls and cannot be used for any program registration API calls.

Example: db2c4395-888c-42ce-9056-08e2f8a5f2d0
{
  "cart_id": "db2c4395-888c-42ce-9056-08e2f8a5f2d0",
  "links": [
    {
      "rel": "review",
      "href": "/membership/db2c4395-888c-42ce-9056-08e2f8a5f2d0"
    }
  ]
}

Start renewal process

/v3/membership/renewal
Description

Starts the renewal process for a given membership_type_id and unit_id. The returned cart_id will be required on subsequent calls to build up the membership. A renewal is signing up a unit that already has an account but is inactive. If you try to start a renewal for a unit that is already active, then you will get an error. Once all changes are complete, use the Checkout API to finalize the changes.

Request Body
membership_type_id
string

Membership type id to start renewal process with.

Example: MT1234
unit_id
string

Unit ID to renew

Example: 3434334
registration_type
string
optional

Sets the context of the registration

Default: online
Example: online
Valid values: online, in_house
Responses
HTTP 201 Created
cart_id
string
optional

The ID of the cart that was created. Use this ID for any membership API calls that require the cart_id as a path parameter. NOTE: This cart_id is only valid for membership API calls and cannot be used for any program registration API calls.

Example: db2c4395-888c-42ce-9056-08e2f8a5f2d0
{
  "cart_id": "db2c4395-888c-42ce-9056-08e2f8a5f2d0",
  "links": [
    {
      "rel": "review",
      "href": "/membership/db2c4395-888c-42ce-9056-08e2f8a5f2d0"
    }
  ]
}

Validate email

/v3/membership/{cart_id}/email_validation
Description

Validates email address against other members in the system and also other members that are currently in the cart.

Path Parameters
cart_id
string

The ID of the cart.

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
Request Body
email
string

Email address to Validate

Example: member.name@daxko.com
exclude_member_guid
string
optional

GUID of member to exclude from duplicate check. For example, if you are editing a member in the cart, you would pass the GUID of that member to this parameter to exclude that member in the cart from the duplicate check.

Example: 66ae13b3-c645-4bca-bb01-d8845ecd879a
Responses
HTTP 200 OK
success
boolean
optional

Value is always true when 200 OK is returned.

Example: true
message
string
optional

Message giving more detail on success of validation

Example: Email is valid
HTTP 409 Conflict (this response returns when the email is used by another member)
success
boolean
optional

Value is always false when 409 Conflict is returned.

Example: false
message
string
optional

Message giving more detail on failure of validation.

Example: This ID is used by another member
member_id
string
optional

If success is false, then this will be the member id of the member with the given email address.

Example: 67433223455-01
unit_id
string
optional

If success is false, then this will be the unit id of the member with the given email address.

Example: 67433223455

Get member questions

/v3/membership/{cart_id}/member_questions
Description

Gets member questions so that you can know which answers to provide when adding a new member

Path Parameters
cart_id
string

The ID of the cart.

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
Query Parameters
age_group_id
string

The age group of the member being added. This can be any of the following: any_child, any_adult or a specific age group id such as CDAG1111 that is returned from the List Age Groups api call. This is required because the member must be marked as an adult or child in the system (there currently is not a feature in Daxko Operations to automatically assign based on age)

Example: any_adult
Responses
HTTP 200 OK
questions
dictionary
optional

This is a dictionary where the question ID is the key mapping to an object that defines the question.

"questions": {
  "name": {
    "title": "Name",
    ...
  },
  "address": {
    "title": "Address",
    ...
  },
  ...
}
type
string

Type of question

Valid values: section, text, name, date, dropdown, radio, checkboxes, phone, address, email
title
string

Question title

Example: Name
description
string

Question description/additional instructions.

Example: Please fill first name first
required
boolean
optional

Value is true if an answer to the question is required.

Example: true
read_only
boolean
optional

Value is true if the question should be rendered in the UI as read only.

Example: true
max_length
number
optional

Maximum text length allowed for questions of type text and email.

Example: 22
default_value
string
optional

Default value. Exists only for questions of type dropdown, checkboxes, and radio.

Example: Selected
possible_answers
array<object>
optional

List of possible answers. Exists only for questions of type dropdown, checkboxes, and radio.

id
string

Possible answer ID

Example: childcare_possible_answer-103476
value
string

Possible answer value

Example: Medium
amount
number
optional

Fee amount for this answer. Exists only when there is a fee.

Example: 10.00
display_value
string

Display friendly value.

Example: Medium - $10.00
hide_empty_option
boolean
optional

Value is true if the UI should not show an empty option. For example, the dropdown might by default say 'Select One', but if this value is true then 'Select One' should not be shown.

Example: true
empty_value
string
optional

Defines what is considered an empty value for this question. For example, the value 'U' might be considered an empty value and will throw a validation error if this value is selected. Exists only for questions of type dropdown, checkboxes, and radio.

Example: U
pattern
string
optional

Regular expression to validate input against. Exists only for questions of type email.

Example: ^\d+$
show_extension
boolean
optional

Value is true if phone extension number should be rendered in UI. Exists only for questions of type phone.

Example: true
intl
boolean
optional

Value is true if this is an international address or phone number question. Exists only for questions of type phone and address.

Example: true
show_first
boolean
optional

Value is true if first name should be rendered in UI. Exists only for questions of type name.

Example: true
show_middle
boolean
optional

Value is true if middle name should be rendered in UI. Exists only for questions of type name.

Example: true
show_last
boolean
optional

Value is true if last name should be rendered in UI. Exists only for questions of type name.

Example: true
show_prefix
boolean
optional

Value is true if name prefix should be rendered in UI. Exists only for questions of type name.

Example: true
show_suffix
boolean
optional

Value is true if name suffix should be rendered in UI. Exists only for questions of type name.

Example: true
required_first
boolean
optional

Value is true if first name is required. Exists only for questions of type name.

Example: true
required_middle
boolean
optional

Value is true if middle name is required. Exists only for questions of type name.

Example: true
required_last
boolean
optional

Value is true if last name is required. Exists only for questions of type name.

Example: true
prefixes
array<object>
optional

List of available name prefixes.

id
string

ID of prefix

Example: Mr.
name
string

Display value of prefix

Example: Mr.
suffixes
array<object>
optional

List of available name suffixes.

id
string

ID of suffix

Example: Jr.
name
string

Display value of suffix

Example: Jr.
ca_provinces
array<object>
optional

Canada province list. Exists only for questions of type address when intl is true.

id
string

Province code

Example: AB
name
string

Display name of province

Example: British Columbia
countries
array<object>
optional

Country list. Exists only for questions of type address when intl is true.

id
string

Country code

Example: US
name
string

Display name of province

Example: Canada
answers
dictionary
optional

This is a dictionary where the question ID is the key mapping to an object that defines the answer to that question. Any values that are returned are default values to use in your UI. In the case of race question, to read only 1 race for a member, use race key and to read more than 1 races for a member, use race_multi key.

"answers": {
  "name": "answer text...",
  "address": {
    "line1": "111 Some Dr.",
    "city": "Hollywood",
    "state": "CA",
    "zip": "90210"
  },
  ...
}

Add member to cart

/v3/membership/{cart_id}/members
Description

Adds a member to the cart.

Path Parameters
cart_id
string

The ID of the cart.

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
Query Parameters
age_group_id
string

The age group of the member being added. This can be any of the following: any_child, any_adult or a specific age group id such as CDAG1111 that is returned from the List Age Groups api call. This is required because the member must be marked as an adult or child in the system (there currently is not a feature in Daxko Operations to automatically assign based on age)

Example: any_adult
member_rate_id
string
optional

(member rate clients only) The member rate to use for this member. If you omit this parameter, then the member will use the Inactive Adult or Inactive Child member rate (depending on the age_group_id used)

Example: MR1234
Request Body
name
object

Member's name

first
string
Example: Steven
middle
string
optional
Example: Gary
last
string
Example: Williams
email
string

Member's email

Example: steve@daxko.com
gender
string

Member's gender. Use U for unknown or unspecified.

Example: M
Valid values: M, F, U
birth_date
string

Member's birth date

Example: 2020-02-23
primary_address
object

Member's address

line1
string
Example: South Avenue
line2
string
optional
Example: Baker St.
city
string
Example: San Jose
state
string
Example: California
zip
string
Example: 94233
country
string
Example: US
primary_phone
object

Member's phone number

phone
string
optional
Example: (555) 234-3433
race
string

Member's race. Use the values provided from the Get member questions API call. To save more than 1 races for a member, add comma separated race values in this key.

Example: Hispanic
emergency_contact
object
optional

(Unit rate clients only) Emergency contact's name

first
string
optional
Example: Cal
last
string
optional
Example: El
emergency_phone
object
optional

(Unit rate clients only) Emergency contact's phone number

phone
string
optional
Example: (555) 234-4543
password
object
optional

Member's Password

  • Must be at least 7 characters.
  • Must contain at least 1 lowercase letter.
  • Must contain at least 1 uppercase letter.
  • Must contain at least 1 numeric character.
password
string
optional
Example: 456544$$
password_confirm
string
optional
Example: 456544$$
subsidized_school_lunch
string
optional

(Member rate clients only when adding a child) Do any of your kids qualify for free or reduced-price lunches at school?

Example: True
Valid values: True, False
single_parent_household
string
optional

(Member rate clients only when adding a child) Are you part of a single parent household??

Example: True
Valid values: True, False
military_family
string
optional

(Member rate clients only when adding a child) Has anyone in your household served in the military?

Example: True
Valid values: True, False
Responses
HTTP 201 Created
cart_id
string
optional

The ID of the current cart. Use this ID for any cart API calls that require the cart_id as a path parameter.

Example: 4762338e-835f-48e4-b5bc-a928c6c76c5a
member_guid
string
optional

The GUID of the member that will be used to reference the member in this cart. Once the checkout is complete, this GUID will no longer be used to reference a member.

Example: 549866ea-882b-4c9c-92b4-7e6dd4ffcb28
{
  "cart_id": "4762338e-835f-48e4-b5bc-a928c6c76c5a",
  "links": [
    {
      "rel": "review",
      "href": "/membership/4762338e-835f-48e4-b5bc-a928c6c76c5a"
    },
    {
      "rel": "member",
      "href": "/membership/4762338e-835f-48e4-b5bc-a928c6c76c5a/members/549866ea-882b-4c9c-92b4-7e6dd4ffcb28"
    }
  ],
  "member_guid": "549866ea-882b-4c9c-92b4-7e6dd4ffcb28"
}

Delete member in cart

/v3/membership/{cart_id}/members
Description

Deletes a member in the cart.

Path Parameters
cart_id
string

The ID of the cart.

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
Request Body
member_guids
array<string>

A list of the member GUIDs to be removed

Responses
HTTP 200 OK
success
boolean
optional

Value is true when delete was successful

Example: true

Get member in cart

/v3/membership/{cart_id}/members/{member_guid}
Description

Gets a member in the cart based on temporary GUID

Path Parameters
cart_id
string

The ID of the cart.

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
member_guid
string

The temporary GUID of the member.

Example: 88ae13b3-e645-abca-7b01-d8755ecd87ff
Responses
HTTP 200 OK
questions
dictionary
optional

This is a dictionary where the question ID is the key mapping to an object that defines the question.

"questions": {
  "name": {
    "title": "Name",
    ...
  },
  "address": {
    "title": "Address",
    ...
  },
  ...
}
type
string

Type of question

Valid values: section, text, name, date, dropdown, radio, checkboxes, phone, address, email
title
string

Question title

Example: Name
description
string

Question description/additional instructions.

Example: Please fill first name first
required
boolean
optional

Value is true if an answer to the question is required.

Example: true
read_only
boolean
optional

Value is true if the question should be rendered in the UI as read only.

Example: true
max_length
number
optional

Maximum text length allowed for questions of type text and email.

Example: 22
default_value
string
optional

Default value. Exists only for questions of type dropdown, checkboxes, and radio.

Example: Selected
possible_answers
array<object>
optional

List of possible answers. Exists only for questions of type dropdown, checkboxes, and radio.

id
string

Possible answer ID

Example: childcare_possible_answer-103476
value
string

Possible answer value

Example: Medium
amount
number
optional

Fee amount for this answer. Exists only when there is a fee.

Example: 10.00
display_value
string

Display friendly value.

Example: Medium - $10.00
hide_empty_option
boolean
optional

Value is true if the UI should not show an empty option. For example, the dropdown might by default say 'Select One', but if this value is true then 'Select One' should not be shown.

Example: true
empty_value
string
optional

Defines what is considered an empty value for this question. For example, the value 'U' might be considered an empty value and will throw a validation error if this value is selected. Exists only for questions of type dropdown, checkboxes, and radio.

Example: U
pattern
string
optional

Regular expression to validate input against. Exists only for questions of type email.

Example: ^\d+$
show_extension
boolean
optional

Value is true if phone extension number should be rendered in UI. Exists only for questions of type phone.

Example: true
intl
boolean
optional

Value is true if this is an international address or phone number question. Exists only for questions of type phone and address.

Example: true
show_first
boolean
optional

Value is true if first name should be rendered in UI. Exists only for questions of type name.

Example: true
show_middle
boolean
optional

Value is true if middle name should be rendered in UI. Exists only for questions of type name.

Example: true
show_last
boolean
optional

Value is true if last name should be rendered in UI. Exists only for questions of type name.

Example: true
show_prefix
boolean
optional

Value is true if name prefix should be rendered in UI. Exists only for questions of type name.

Example: true
show_suffix
boolean
optional

Value is true if name suffix should be rendered in UI. Exists only for questions of type name.

Example: true
required_first
boolean
optional

Value is true if first name is required. Exists only for questions of type name.

Example: true
required_middle
boolean
optional

Value is true if middle name is required. Exists only for questions of type name.

Example: true
required_last
boolean
optional

Value is true if last name is required. Exists only for questions of type name.

Example: true
prefixes
array<object>
optional

List of available name prefixes.

id
string

ID of prefix

Example: Mr.
name
string

Display value of prefix

Example: Mr.
suffixes
array<object>
optional

List of available name suffixes.

id
string

ID of suffix

Example: Jr.
name
string

Display value of suffix

Example: Jr.
ca_provinces
array<object>
optional

Canada province list. Exists only for questions of type address when intl is true.

id
string

Province code

Example: AB
name
string

Display name of province

Example: British Columbia
countries
array<object>
optional

Country list. Exists only for questions of type address when intl is true.

id
string

Country code

Example: US
name
string

Display name of province

Example: Canada
answers
dictionary
optional

This is a dictionary where the question ID is the key mapping to an object that defines the answer to that question. In the case of race question, to read only 1 race for a member, use race key and to read more than 1 races for a member, use race_multi key.

"answers": {
  "name": "answer text...",
  "address": {
    "line1": "111 Some Dr.",
    ...
  },
  ...
}

Update member in cart

/v3/membership/{cart_id}/members/{member_guid}
Description

Updates a member in the cart.

Path Parameters
cart_id
string

The ID of the cart.

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
member_guid
string

The temporary GUID of the member.

Example: 88ae13b3-e645-abca-7b01-d8755ecd87ff
Request Body
name
object

Member's name

first
string
Example: Steven
middle
string
optional
Example: Gary
last
string
Example: Williams
email
string

Member's email

Example: steve@daxko.com
gender
string

Member's gender. Use U for unknown or unspecified.

Example: M
Valid values: M, F, U
birth_date
string

Member's birth date

Example: 2020-02-23
primary_address
object

Member's address

line1
string
Example: South Avenue
line2
string
optional
Example: Baker St.
city
string
Example: San Jose
state
string
Example: California
zip
string
Example: 94233
country
string
Example: US
primary_phone
object

Member's phone number

phone
string
optional
Example: (555) 234-3433
race
string

Member's race. Use the values provided from the Get member questions API call. To save more than 1 races for a member, add comma separated race values in this key.

Example: Hispanic
emergency_contact
object
optional

(Unit rate clients only) Emergency contact's name

first
string
optional
Example: Cal
last
string
optional
Example: El
emergency_phone
object
optional

(Unit rate clients only) Emergency contact's phone number

phone
string
optional
Example: (555) 234-4543
password
object
optional

Member's Password

  • Must be at least 7 characters.
  • Must contain at least 1 lowercase letter.
  • Must contain at least 1 uppercase letter.
  • Must contain at least 1 numeric character.
password
string
optional
Example: 456544$$
password_confirm
string
optional
Example: 456544$$
subsidized_school_lunch
string
optional

(Member rate clients only when adding a child) Do any of your kids qualify for free or reduced-price lunches at school?

Example: True
Valid values: True, False
single_parent_household
string
optional

(Member rate clients only when adding a child) Are you part of a single parent household??

Example: True
Valid values: True, False
military_family
string
optional

(Member rate clients only when adding a child) Has anyone in your household served in the military?

Example: True
Valid values: True, False
Responses
HTTP 201 Created
cart_id
string
optional

The ID of the current cart. Use this ID for any cart API calls that require the cart_id as a path parameter.

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
{
  "cart_id": "77ae13b3-c645-4bca-bb01-d8855ecd879a",
  "links": [
    {
      "rel": "review",
      "href": "/membership/4762338e-835f-48e4-b5bc-a928c6c76c5a"
    }
  ]
}

Set members status in cart

/v3/membership/{cart_id}/status
Description

Sets status to active or inactive for one or more members.

Path Parameters
cart_id
string

The ID of the cart.

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
Request Body
members
array<object>

List of member guids with the new status

member_guid
string

GUID of member to set status for.

Example: 88ae13b3-e645-abca-7b01-d8755ecd87ff
active
boolean

Set to true to mark the member as active. Set to false to set the member as inactive.

Example: true
Responses
HTTP 200 OK

Set members rates in cart

/v3/membership/{cart_id}/member_rates
Description

Choose the member rate members in the cart. (member rate clients only)

Path Parameters
cart_id
string

The ID of the cart.

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
Request Body
members
array<object>

List of member guids with the new status

member_guid
string

GUID of member

Example: 88ae13b3-e645-abca-7b01-d8755ecd87ff
member_rate_id
string

Member Rate ID to set for member

Example: MR1234
Responses
HTTP 200 OK

Apply discount groups

/v3/membership/{cart_id}/discount_groups
Description

Apply Discount Groups to the cart in order to reduce the price of the membership. The changes in price can be seen in the Get Review Information API call.

Path Parameters
cart_id
string

The ID of the cart.

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
Request Body
discount_group_ids
array<string>

List of discount group IDs to apply

Example: ["DG3982","DG221"]
Responses
HTTP 200 OK

Get membership agreements

/v3/membership/{cart_id}/agreements
Description

This call is used to retrieve all agreements associated with this membership.

Path Parameters
cart_id
string

The ID of the cart.

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
Responses
HTTP 200 OK
signature_type
string
optional

If set to type_name, then these agreements are set up to accept a typed name as the signature. If set to signature, then these agreements are set up to accept a signature image.

Example: type_name
Valid values: type_name, signature
agreements
array<object>
optional

The list of agreements

agreement_id
string
optional

The agreement ID

Example: W293
title
string
optional

The agreement title

Example: Make up policy
body
string
optional

The actual text of the agreement. Note that this content might contain HTML because Daxko Operations uses a rich text editor to allow advanced formatting.

Example: I agree that you will forfeit your lesson fee if I do not cancel within 2 hours of class start time.
accepted
boolean
optional

Indicates whether the agreement has previously been accepted

Example: true
{
  "signature_type": "type_name",
  "agreements": [
    {
      "agreement_id": "W293",
      "title": "Make up policy",
      "body": "I agree that you will forfeit your lesson fee if I do not cancel within 2 hours of class start time.",
      "accepted": false
    },
    {
      "agreement_id": "W297",
      "title": "Consent for emergency medical treatment",
      "body": "I grant authorization to a licensed physician to treat msyelf in case of a medical emergency.",
      "accepted": true
    }
  ]
}

Accept membership agreements

/v3/membership/{cart_id}/agreements
Description

This call is used to save and sign agreements associated with a membership. Either signee_name or signature_image_base64 is required.

Example body with signee_name:

{
  "agreement_ids": ["W293"],
  "signee_name": "John Doe"
}

Example body with signature_image_base64:

{
  "agreement_ids": ["W293"],
  "signature_image_base64": "iVBORw0KGgoAAAANSUhEUgAAAV8AAAA6..."
}
Path Parameters
cart_id
string

The ID of the cart.

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
Request Body
agreement_ids
array<string>

A list of agreement IDs.

Example: ["W3982","W221"]
signee_name
string
optional

The name of the signee.

Example: John Doe
signature_image_base64
string
optional

Base64 encoded PNG signature image. This should be a black and white image with the pen stroke being black like the one being generated by this signature pad plugin.

Example: iVBORw0KGgoAAAANSUhEUgAAAV8AAAA6...
Responses
HTTP 200 OK
success
boolean
optional
Example: true
{
  "success": true
}

Get review information

/v3/membership/{cart_id}
Description

This call is used to retrieve all of the information needed to review the cart before checkout.

Path Parameters
cart_id
string

The ID of the cart.

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
Responses
HTTP 200 OK
recurring_fees
array<object>

Fees that will be charged in the future on a recurring basis (see billing_cycle for frequency)

line_item_id
string

ID of the line item

Example: 1435
short_description
string

Short description of the fee

Example: Membership Due
type
string

The line item type. A description of each type is detailed in the table below.

typedescription
joinJoin Fee
membershipMembership Fee
recurringPro-rated one-time fee based on future recurring fee
Example: membership
Valid values: join, membership, recurring
unit_price
number

The line item price per unit

Example: 82.34
quantity
integer

The line item quantity

Example: 1
can_remove
boolean

Valie is true if this line item is able to be deleted.

Example: true
discounts
array<object>

A list of discounts applied to the line item.

id
string
optional

The ID of discount.

Example: 23432
name
string
optional

The name of discount.

Example: Discount Name
type
string
optional

The type of discount.

Example: adjustment
amount
number<decimal>
optional

The discount amount.

Example: 34.2
can_remove
boolean
optional

Can the discount be removed.

Example: true
taxes
array<object>
optional

The tax information of the discount.

line_item_id
string
optional

ID of tax line item

Example: 43321
short_description
string
optional

Description of tax

Example: Sales Tax
unit_price
number
optional

Tax amount

Example: 8.54
rate
number
optional

Rate of the tax

Example: 0.056
taxes
array<object>

The taxes applied to this fee.

line_item_id
string
optional

ID of tax line item

Example: 43321
short_description
string
optional

Description of tax

Example: Sales Tax
unit_price
number
optional

Tax amount

Example: 8.54
rate
number
optional

Rate of the tax

Example: 0.056
one_time_fees
array<object>

Fees that will be charged immediately at time of checkout (but might not be due immediately - see one_time_fees.due_today_amount)

line_item_id
string

The line item ID of the fee.

Example: 78e37dcd-9cf8-4fb8-903a-a5437f2c3d9e
short_description
string

The description of the fee.

Example: Join Fee
type
string

The type of fee

Example: join
unit_price
number

The unit price of fee.

Example: 75
quantity
integer

Quantity

Example: 1
extended_price
number

Extended Price

Example: 2
due_today_amount
integer

Due today amount.

Example: 1
can_remove
boolean

Whether the fee is removable.

Example: true
discounts
array<object>

The discounts applied to this fee.

id
string
optional

The ID of discount.

Example: 23432
name
string
optional

The name of discount.

Example: Discount Name
type
string
optional

The type of discount.

Example: adjustment
amount
number<decimal>
optional

The discount amount.

Example: 34.2
can_remove
boolean
optional

Can the discount be removed.

Example: true
taxes
array<object>
optional

The tax information of the discount.

line_item_id
string
optional

ID of tax line item

Example: 43321
short_description
string
optional

Description of tax

Example: Sales Tax
unit_price
number
optional

Tax amount

Example: 8.54
rate
number
optional

Rate of the tax

Example: 0.056
taxes
array<object>
optional

The taxes applied to this fee.

line_item_id
string
optional

ID of tax line item

Example: 43321
short_description
string
optional

Description of tax

Example: Sales Tax
unit_price
number
optional

Tax amount

Example: 8.54
rate
number
optional

Rate of the tax

Example: 0.056
version
string

The cart version serves as a verification value that an order has been reviewed before being finalized. It will need to be passed into the membership checkout API call.

Example: AAAAAAmnQ28=
membership_type
object

Membership type that the member is signing up for / renewing

id
string
optional

The ID of the membership type.

Example: MT200
name
string
optional

The name of membership type.

Example: Family
is_auto_renew
boolean
optional

Whether the membership type is auto renewable.

Example: true
term
object
optional

The term of membership.

description
string
optional

The term description

Example: Monthly
id
integer
optional

The ID of the term.

Example: 0
months_in_term
integer
optional

The number of months associated with the term

Example: 1
applied_discount_group_ids
array<string>

List of discount group ids that have been applied to this cart.

Example: ["DG3982","DG221"]
home_branch
object

Member's home branch

id
string
optional

Branch ID

Example: B32
name
string
optional

Name of branch

Example: Daxkoville YMCA
full_address
string
optional

Full address of branch

Example: 600 University Park Place, Birmingham, AL 35209
phone
string
optional

Branch phone number

Example: (555) 555-5555
billing_cycle
object

Billing cycle information

name
string

Name of the billing cycle

Valid values: Monthly, Quarterly, Semi Annual, Annual
months_in_cycle
integer

Number of months in the cycle

Valid values: 1, 3, 6, 12
billing_cyles
array<object>

List of available billing cycles

name
string

Name of the billing cycle

Valid values: Monthly, Quarterly, Semi Annual, Annual
months_in_cycle
integer

Number of months in the cycle

Valid values: 1, 3, 6, 12
draft_day
integer

Selected draft day (day of month)

Example: 28
draft_days
array<object>

List of available draft days

day
integer

Day of month

Example: 28
description
string

Display friendly description for day of month

Example: 28th
auto_renew
boolean

Valie is true if the membership is set to auto renew.

Example: true
next_process_date
string

Date when next recurring_fees will be converted to actual fees.

Example: 2021-04-01
expiration_date
string<datetime>
optional

When auto_renew is true, this property will not exist because there is no expiration date. When auto_renew is false, this will be when the membership will expire.

renew
boolean

Value is true if this cart is in the mode of renewing a unit (vs. joining)

Example: true
members
array<object>

Members that are in the cart

member_guid
string

Unique ID that only can only be used to modify or delete members in the cart. Once the checkout is complete or canceled, this ID no longer has any meaning.

Example: 66ae13b3-c645-4bca-bb01-d8845ecd879a
first_name
string

First name

Example: Steven
last_name
string

Last name

Example: Wills
primary_member
boolean

Value is true if this is the primary member. There can only be 1 primary member.

Example: true
active
boolean

Value is true if the member will be active in the membership once checkout is complete.

Example: true
age_group
object

The age group that the member is assigned to based on age.

id
string
optional
Example: CDAG1111'
name
string
optional
Example: Youth
min_age
integer
optional
Example: 1
max_age
integer
optional
Example: 18
description
string
optional
Example: 18 and under
category
string
optional
Example: any_child
email
string

Email address

Example: st@daxko.com
can_change_status
boolean

Value is true if the active flag can be changed depending on membership type.

Example: true
can_remove
boolean

Value is true if this member is allowed to be removed from the cart.

Example: true
birth_date
string<datetime>

Birth date

Example: 1992-04-27
new_member_rate
object
optional

(Member rate clients only) the chosen member rate for this member.

id
string
optional
Example: MR1234
name
string
optional
Example: My Member Rate
fee_group_name
string
optional
Example: Program Memgbers
start_date
datetime
optional

Membership start date

Example: 2023-07-18T00:00:00.0000000
end_date
datetime
optional

Membership end date. NOTE: the value will be 9999-01-01T00:00:00.0000000 for inactive memberships that don't have an end date

Example: 2024-07-18T00:00:00.0000000
age_group_rules
object

If the client has the Age Groups feature enabled in Daxko Operations for this membership type, then this gives information about these rules and whether they are satisfied.

valid
boolean

Value is true if all of the rules are satisfied.

Example: true
rules
array<object>

Age group rules

max_count
integer

Maximum number of members allowed in this group

Example: 7
min_age
integer

Minimum age range (inclusive) allowed in this group

Example: 1
max_age
integer

Maximum age range (inclusive) allowed in this group

Example: 18
description
string

Display friendly description of the rules

Example: Under 18
valid
boolean

Value is true if all of the rules are satisfied for this group

Example: true
max_reached
boolean
optional

Value is true if the maximum number of members has been reached for this group

Example: true
allow_payment
boolean

Value is true if a payment method can be supplied. For example, if the membership is free after discounts have been applied and all recurring fees will be free in the future, the value will be false.

Example: true
valid
boolean

Value is true if there are no errors and all age_group_rules are valid.

Example: true
errors
array<object>

Any errors that must be resolved before checkout can complete

message
string

Error message

Example: At least 1 member must be active
steps
object

Steps that are part of the join/renew process.

required
array<string>

These steps must be completed in order to check out. For example, if agreements is in the list, membership agreements must be accepted in order to check out.

/v3/membership/{cart_id}/one_time_link
Description

Generates a one-time link (valid for 10 minutes) that takes the user to a page in Daxko Operations Online to finish the member join/renew process. One the link has been used once, it is no longer valid.

Path Parameters
Request Body
redirect_uri
string

URI to redirect to after member join/renew process succeeds.

Example: https://www.example.org/my_success_page
step
string

Step to show in the browser.

Valid values: pay
header
string
optional

Show or hide the Daxko Operations Online header. Defaults to show

Valid values: show, hide
nav
string
optional

Show or hide the Daxko Operations Online navigation. Defaults to hide

Valid values: show, hide
Responses
HTTP 200 OK
{
  "url": "https://operations.daxko.com/online/9991/cart/redirector.mvc?code=_qNGKAKowkSmHDzCN6y8zT4bxCCD2LZgBN8m4ko_6E0&__header=show&__footer=hide&__nav=hide"
}

Checkout

/v3/membership/{cart_id}/checkout
Description

This call completes the registration. Once the registration is submitted, it is processed synchronously (the unit/members are created immediately).

You can use the returned unit_id to call the get-unit-details endpoint API call.

Example request body:

{
  "version": "AAAAAAmirMM=",
  "customer": {
    "name": "John Doe",
    "email": "john.doe@example.org"
  },
  "payment_info": [
    {
      "payment_method_amount": 90,
      "apply_system_credit_amount": 10,
      "billing_method": {
        "id": "PTLvg3hhYLPUqaBJcHIybjIokxLwR6RHG4zdhF6zZQdZM",
        "save": true
      },
      "line_item_payments": [
        {
          "line_item_id": "4f04bd57-a51b-4d55-85ea-b6f4d7a64090",
          "amount": 40,
          "schedule_remaining": false
        },
        {
          "line_item_id": "fe591b03-79a6-4d07-a0ac-64574a35896d",
          "amount": 60,
          "schedule_remaining": false
        }
      ]
    }
  ]
}
Path Parameters
cart_id
string

The ID of the cart.

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
Request Body
version
string

The get cart api call returns back this version value every time the call is made. The latest version must be included when performing the final checkout as a check to make sure that the most up to date has been reviewed.

Example: AAAAAAmirMM=
customer
object

Information about the customer that is checking out.

name
string
optional

Name of customer that is performing purchase. This name will be returned in the receipt api call.

Example: John Doe
email
string
optional

Customer's email address that the receipt will be emailed to. If this is left blank, then an email will not be sent.

Example: john.doe@example.org
payment_info
array<object>

Payment info for payment method. Only 1 payment method at a time is currently supported.

payment_method_amount
number

Amount that is being paid from the specified payment method (i.e., $100 is being paid by a VISA payment method)

Example: 90
apply_system_credit_amount
number
optional

If system credit is available on the account, this is the amount that is being paid from available system credit.

Example: 10
billing_method
object
optional

Information about billing method used to pay for this cart. Not required if payment is not being collected and the balance should go on the unit's account.

id
string

ID of billing method. Is either a Daxko Payment Token (prefixed with 'PT') or a stored billing method in Daxko Operations (prefixed with 'BM')

Example: PTLvg3hhYLPUqaBJcHIybjIokxLwR6RHG4zdhF6zZQdZM
save
boolean
optional

Should the information on the Daxko Payment Token be stored for future use as a stored billing method in Daxko Operations? (This property is ignored if using an id prefixed with BM since it is already stored in Daxko Operations).

Default: false
Example: true
line_item_payments
array<object>

This is a mapping of how much of the total payment amount (payment_method_amount + apply_system_credit_amount) is applied to each line item. The sum of all line_item_payments.amount must equal (payment_method_amount + apply_system_credit_amount). An entry is required for each line item even if applying $0.

line_item_id
string

The ID of the line item from the get cart api call.

Example: 4f04bd57-a51b-4d55-85ea-b6f4d7a64090
amount
number

Amount of payment_method_amount + apply_system_credit_amount that should be applied to this line item. For example, if payment_method_amount is $90 and apply_system_credit_amount is $10 and this amount is $20, this means that $20 of the $100 will be applied to this line item.

Example: 40
schedule_remaining
boolean
optional

This only applies if the full balance of this line item is not being immediately paid. If true, then a scheduled payment will be automatically created on the line item's due date for the remaining balance. If false, then the balance will remain on the account and must be handled manually within Daxko Operations.

Default: true
Example: true
Responses
HTTP 200 OK
success
boolean
optional

Indicates if the operation succeeded. If it did not, then the errors collection will contain additional information.

Example: true
unit_id
string
optional

Unit ID of unit that was created/renewed

Example: 300181529
{
  "success": true,
  "links": [
    {
      "rel": "receipt",
      "href": "/membership/417d82fc-c6ae-45fa-a285-c9314b0d3700/receipt"
    },
    {
      "rel": "unit",
      "href": "/units/300181529"
    }
  ],
  "unit_id": "300181529"
}

Get receipt

/v3/membership/{cart_id}/receipt
Description

This call is used to retrive receipt after a member join/renew has been completed.

Path Parameters
cart_id
string

The ID of the cart.

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
Responses
HTTP 200 OK
unit_id
string
optional

Unit ID that was created (if joining) or the unit id that was renewed (if renewing).

Example: 300181529
order_date
string
optional

Date/time the cart was checked out at (UTC)

Example: 2020-09-09
payments
array<object>
optional

A list of payments that have been made against the cart

payment_method
string

Display name of the payment payment_method

Example: Bank Draft
name_on_account
string

Name on the payment method name_on_account

Example: John Doe
description
string

Additional information about the payment method. For example, for EFT and credit card payments, will be a description with the last 4 digits of the account.

Example: (ending in 1234)
amount
number

Payment amount

Example: 55.45
scheduled_payments
array<object>

Payments that have been scheduled for the future as a part of this cart. If no payments were scheduled, then this will be empty.

line_item_id
string

Line item id that this scheduled payment was created for. See line_items.

Example: aaaaaaaa-2f3d-46b4-b524-c20ac6d06ef7
date
string<datetime>

Date that this scheduled payment will be made on.

Example: 2017-10-12T00:00:00.0000000
amount
number

Amount of scheduled payment

Example: 20.75
one_time_fees
array<object>
optional

One time fees

line_item_id
string

The line item ID.

Example: 307b94ae-fb6f-4382-b623-9b772ae07c83
type
string

The line item type. A description of each type is detailed in the table below.

typedescription
joinJoin Fee
membershipMembership Fee
recurringPro-rated one-time fee based on future recurring fee
Valid values: join, membership, recurring
short_description
string

The line item short description.

Example:
unit_price
number

The line item price per unit.

Example:
quantity
number

The line item quantity.

Example:
extended_price
number

The price for all quantities. Equal to quantity * unit_price.

Example:
due_date
string<datetime>

The date when the min_payment_amount is due.

Example:
payment_amount
number

The amount that will be paid by the payment method.

Example:
scheduled_amount
number

The balance amount due after discounts, system_credit_amount, and payment_method_amount

Example:
discounts
array<object>

A list of discounts applied to the line item.

type
string

Type of discount

amount
number

Dollar amount of discount

description
string

Discount description

taxes
array<object>
optional

A list of tax info for this discount group if sales tax applies to this line item

unit_price
number

tax amount

Example: 2.56
short_description
string

Description of tax

Example: Sales Tax
rate
number

tax rate

Example: 0.056
taxes
array<object>
optional

A list of tax info applied to the line item if sales tax applies to this line item

unit_price
number

tax amount

Example: 2.56
short_description
string

Description of tax

Example: Sales Tax
rate
number

tax rate

Example: 0.056
recurring_fees
array<object>
optional

Recurring fees

line_item_id
string

The line item ID.

Example: 307b94ae-fb6f-4382-b623-9b772ae07c83
type
string

The line item type. A description of each type is detailed in the table below.

typedescription
mebership_feeMembership Fee
Valid values: membership_fee
short_description
string

The line item short description.

Example:
unit_price
number

The line item price per unit.

Example:
quantity
number

The line item quantity.

Example:
extended_price
number

The price for all quantities. Equal to quantity * unit_price.

Example:
due_date
string<datetime>

The date when the min_payment_amount is due.

Example:
payment_amount
number

The amount that will be paid by the payment method.

Example:
scheduled_amount
number

The balance amount due after discounts, system_credit_amount, and payment_method_amount

Example:
discounts
array<object>

A list of discounts applied to the line item.

type
string

Type of discount

amount
number

Dollar amount of discount

description
string

Discount description

taxes
array<object>
optional

A list of tax info for this discount group if sales tax applies to this line item

unit_price
number

tax amount

Example: 2.56
short_description
string

Description of tax

Example: Sales Tax
rate
number

tax rate

Example: 0.056
taxes
array<object>
optional

A list of tax info applied to the line item if sales tax applies to this line item

unit_price
number

tax amount

Example: 2.56
short_description
string

Description of tax

Example: Sales Tax
rate
number

tax rate

Example: 0.056
membership_type
object
optional

Membership type info

name
string
optional

Name of membership type

Example: Family
billing_cycle
object
optional

Billing cycle information

name
string

Name of the billing cycle

Valid values: Monthly, Quarterly, Semi Annual, Annual
months_in_cycle
integer

Number of months in the cycle

Valid values: 1, 3, 6, 12
next_draft_date
string<date>
optional

Date of the next draft of recurring fees

Example: 2020-01-28
customer
object
optional

Information about customer

phone
string

Customer phone number

unit_id
string

Daxko Operations unit ID

purchased_by
string

Name of person who performed purchased_by

email
string

Email provided at checkout

name
string

Daxko Operations unit name

address
object

Address

line1
string
line2
string
city
string
state
string
zip
string
country
string
vendor
object
optional

Information about vendor

name
string

Name of vendor

Example: My Branch
address
object

Address

line1
string
line2
string
city
string
state
string
zip
string
country
string
tax_id
string

Tax ID of vendor

phone
string

Vendor phone number

List membership join changes

/v3/membership/joins
Description

This endpoint returns a list of members who have joined or have been activated within the specified date range. Note that historical status changes of the member is not being considered here.

Query Parameters
start_date
string <date>
optional

The start date for the date range.

Example: 2020-02-15
end_date
string <date>
optional

The end date for the date range.

Example: 2020-02-21
Responses
HTTP 200 OK
total
number
optional

The total number of members retrieved.

Example: 1
members
array<object>
optional

A list of members who have joined or rejoined.

member_id
string
optional

The ID of the member.

Example: 90000059546-01
member_name
string
optional

The name of the member.

Example: Ben Adams
change_timestamp_utc
string<date-time>
optional

The timestamp (in UTC) when the membership was changed.

Example: 2020-08-26T15:51:08.4400000
old_membership_type
string
optional

The previous membership type of the member.

Example: Family1
new_membership_type
string
optional

The current membership type of the member.

Example: Family1
old_status
string
optional

The previous status of the member.

Example: Inactive
new_status
string
optional

The current status of the member.

Example: Active
change_description
string
optional

The description of the membership change.

Example: Membership Renewal
change_type
string
optional

The type of membership change (i.e. Member Activated or Member Rejoined or Member Renewed).

Example: Member Renewed

List membership cancel changes

/v3/membership/cancellations
Description

This endpoint returns a list of members who have canceled or have been deactivated within the specified date range. Note that historical status changes of the member is not being considered here.

Query Parameters
start_date
string <date>
optional

The start date for the date range.

Example: 2020-02-15
end_date
string <date>
optional

The end date for the date range.

Example: 2020-02-21
Responses
HTTP 200 OK
total
number
optional

The total number of members retrieved.

Example: 1
members
array<object>
optional

A list of members who have canceled their memberships.

member_id
string
optional

The ID of the member.

Example: 90000059546-01
member_name
string
optional

The name of the member.

Example: Ben Adams
change_timestamp_utc
string<date-time>
optional

The timestamp (in UTC) when the membership was changed.

Example: 2020-08-26T15:51:08.4400000
old_membership_type
string
optional

The previous membership type of the member.

Example: Family1
new_membership_type
string
optional

The current membership type of the member.

Example: Family1
old_status
string
optional

The previous status of the member.

Example: Active
new_status
string
optional

The current status of the member.

Example: Inactive
change_description
string
optional

The description of the membership change.

Example: Membership Terminated
change_type
string
optional

The type of membership change (i.e. Member Deactivated).

Example: Member Deactivated

List membership hold changes

/v3/membership/holds
Description

This endpoint returns a list of members who have been put on hold (and are active) within the specified date range. Note that historical status changes of the member is not being considered here.

Query Parameters
start_date
string <date>
optional

The start date for the date range.

Example: 2020-02-15
end_date
string <date>
optional

The end date for the date range.

Example: 2020-02-21
Responses
HTTP 200 OK
total
number
optional

The total number of members retrieved.

Example: 1
members
array<object>
optional

A list of members who have been put on hold.

member_id
string
optional

The ID of the member.

Example: 90000059546-01
member_name
string
optional

The name of the member.

Example: Ben Adams
change_timestamp_utc
string<date-time>
optional

The timestamp (in UTC) when the membership was changed.

Example: 2020-08-26T15:51:08.4400000
old_membership_type
string
optional

The previous membership type of the member.

Example: Family1
new_membership_type
string
optional

The current membership type of the member.

Example: Family1
change_reason
string
optional

The reason for the membership change (e.g. Travel, Military, etc.).

Example: Military
change_description
string
optional

The description of the membership change.

Example: Membership held with dues from 8/26/2020 to 8/27/2020
change_type
string
optional

The type of membership change (e.g., Member Activated or Member Rejoined or Member Renewed).

Example: Membership Hold

List membership add-on changes

/v3/membership/add_ons
Description

This endpoint returns a list of membership add-ons that have been applied or removed, per member.

Query Parameters
start_date
string <date>
optional

The start date for the date range.

Example: 2020-02-15
end_date
string <date>
optional

The end date for the date range.

Example: 2020-02-21
Responses
HTTP 200 OK
total
number
optional

The total number of records retrieved.

Example: 1
members
array<object>
optional

A list of members who have an add-on change.

unit_id
string
optional

The ID of the Unit.

Example: 90000059546
member_id
string
optional

The ID of the member.

Example: 90000059546-01
member_name
string
optional

The name of the member.

Example: Ben Adams
membership_type_id
string
optional

The membership type ID of the member.

Example: MT165
membership_type
string
optional

The membership type of the member.

Example: Family
add_on_id
string
optional

The ID of the add-on applied or removed.

Example: 34
add_on_name
string
optional

The name of the add-on applied or removed.

Example: Facility Access - Unit
add_on_branch_id
string
optional

The ID of the branch for the applied or removed add-on.

Example: B27
add_on_branch_name
string
optional

The name of the branch for the applied or removed add-on.

Example: Downtown Branch
add_on_type
string
optional

The type of add-on applied or removed.

Example: Membership
charge_add_on
string
optional

How the applied or removed add-on is charged.

Example: By unit
change_timestamp_utc
string<date-time>
optional

The timestamp (in UTC) when the add-on was applied or removed.

Example: 2020-08-26T15:51:08.4400000
change_type
string
optional

The type of change that was made, whether the add-on was applied or removed.

Example: Add-on Applied

Get Add-Ons

/v3/membership/{cart_id}/add_ons
Description

Gets Unit and Member Level Add-Ons information needed to build a custom Add-On experience

Path Parameters
cart_id
string

The ID of the cart.

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
Responses
HTTP 200 OK
membership_type_name
string
optional

Selected Membership Type Name

Example: Family (Monthly)
billing_cycle
string
optional

Selected Membership Type's Billing Cycle Interval

Example: Monthly
total_dues
number<decimal>
optional

Total due per Billing Cycle

Example: 100.00
total_due_today
number<decimal>
optional

Total due at checkout

Example: 50.00
home_branch_id
number
optional

Branch ID of the selected membership type

Example: 27
allow_recurring_donation
boolean
optional

Whether the selected membership type allows recurring donations during the cart process

Example: true
recurring_donation_amount
number<decimal>
optional

Recurring donation amount selected during the join process

Example: 10.00
donation
dictionary
optional

The Donation information setup by the client for recurring donations during Member Join for this Membership Type

"donation": {
  "product_bundle_id": "a5e52378-8727-4500-9c40-69c1e1b3a9c9",
  "campaign_id": 4891,
  "campaign_description": "Recurring Donation for Member Join Campaign",
  "donation_message": "An opportunity to give to your local establishment on a recurrent basis.",
  "suggested_amounts": [
      500.0000,
      250.0000,
      100.0000,
      50.0000,
      25.0000
  ],
  "min_amount": 10.00,
  "gl_id": 1234,
  "is_recurring": true
}

product_bundle_id
string
optional
campaign_id
number
optional

Selected Campaign ID for the in cart donation

campaign_description
string
optional

The Campaign description

donation_message
string
optional

A message to display for the potential donor

suggested_amounts
array
optional

Pre-set suggested amounts to donate

min_amount
number<decimal>
optional

The minimum allowed donation amount

gl_id
number
optional

The General Ledger for the campaign

is_recurring
boolean
optional

Whether this will be created as a recurring donation

recurring_fees
dictionary
optional

An array of selected recurring fees based on the built Membership

"recurring_fees": [
    {
        "fee_name": "Membership Due",
        "amount": 100.00
    },
    {
        "fee_name": "Facility Access (Member)",
        "amount": 50.00
    },
    ...
]

fee_name
string
optional

The name of the selected recurring fee

amount
number<decimal>
optional

The amount charged for the recurring fee per billing cycle

members
dictionary
optional

An array of members in the Member Join cart

"members": [
    {
        "member_guid": "02c6c5be-48e3-464c-b7dd-a7e16a82ed50",
        "member_name": John Doe
    },
    {
        "member_guid": "2b9aee54-57a1-4b77-bc79-62a58f9f320a",
        "member_name": Jane Doe
    },
    ...
]

member_guid
string
optional

The unique identifier of the member used to assign "By Member" add-ons to the member

member_name
string
optional

The name of the member

addons
dictionary
optional

An array of "By Member" and "By Unit" add-ons available to assign to the Unit or Members in the cart

"addons": [
    {
        "fee_id": 79620,
        "branch_id": 476,
        "addon_name": "Facility Access (Member)",
        "amount": 15.0000,
        "is_added": false,
        "number_added": 0,
        "addon_charge_type": "By member",
        "description": "Facility Access to the selected branch for a single member.",
        "member_guids": []
    },
    {
        "fee_id": 79617,
        "branch_id": 27,
        "addon_name": "Facility Access (Unit)",
        "amount": 75.0000,
        "is_added": false,
        "number_added": 0,
        "addon_charge_type": "By unit",
        "description": "Facility Access to the selected branch for the entire unit.",
        "member_guids": []
    },
    {
        "fee_id": 79615,
        "branch_id": 41,
        "addon_name": "Towel Service",
        "amount": 5.0000,
        "is_added": false,
        "number_added": 0,
        "addon_charge_type": "By member",
        "description": "Get a nice, fresh towel",
        "member_guids": []
    },
    ...
]

fee_id
number
optional

The ID used to add this add-on to the Member Join cart

branch_id
number
optional

The linked branch for this add-on

addon_name
string
optional

The name of the add-on

amount
number<decimal>
optional

The amount charged for this add-on per billing cycle

is_added
boolean
optional

Whether this add-on is already added to the current cart

number_added
number
optional

The number of times this add-on has been added to the current cart

addon_charge_type
string
optional

The type of add-on

Valid values: By unit, By member
description
string
optional

The description of the add-on

member_guids
array
optional

For "By Member" add-ons, the members that have been assigned this add-on

Save Add-Ons

/v3/membership/{cart_id}/add_ons/add
Description

Save Unit and/or Member Level Add-Ons to the current cart

Path Parameters
cart_id
string

The ID of the cart.

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
Request Body
add_ons
array<object>

List of add-ons adding to the current cart

fee_id
number

The ID used to add this add-on to the Member Join cart

Example: 6542
member_guid
string
optional

The unique identifier of the member used to assign "By Member" add-ons to the member

Example: 2b9aee54-57a1-4b77-bc79-62a58f9f320a
Responses
HTTP 200 OK
success
boolean
optional
Example: true
HTTP 400 BadRequest
success
boolean
optional
Example: false
errors
array<object>
optional

List of errors

message
string

The error message from the failed attempt

Remove Add-Ons

/v3/membership/{cart_id}/add_ons/remove
Description

Remove Unit and/or Member Level Add-Ons from the current cart

Path Parameters
cart_id
string

The ID of the cart.

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
Request Body
fee_id
number

The ID used to add this add-on to the Member Join cart

Example: 6542
member_guid
string
optional

The unique identifier of the member used to assign "By Member" add-ons to the member

Example: 2b9aee54-57a1-4b77-bc79-62a58f9f320a
Responses
HTTP 200 OK
success
boolean
optional
Example: true
HTTP 500 BadRequest
success
boolean
optional
Example: false
errors
array<object>
optional

List of errors

message
string

The error message from the failed attempt

Add a recurring donation

/v3/membership/{cart_id}/donation
Description

Add a recurring donation to the current cart

Path Parameters
cart_id
string

The ID of the cart.

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
Request Body
amount
number

The recurring donation amount assigned to the member join cart

Example: 10.00
Responses
HTTP 200 OK
success
boolean
optional
Example: true

Partners

The Partners API allows retrieval of partner resources and authentication.

List partners

/v3/partners
Description

Retrieves all partners.

Header Parameters
apikey
string

The API Key that allows access to internal endpoints. Find the API key for your environment here.

Responses
HTTP 200 OK
users
array<object>
optional

A list of partners

username
string
optional

The username the partner uses to authenticate.

client_ids
array<integer>
optional

A list of clients IDs that the user has been granted access. If is_trusted is true, then client_ids will be ommitted.

gateway_id
string
optional

The API gateway ID that corresponds to this partner.

is_trusted
boolean
optional

Indicates whether the partner has been granted access to all clients. If client_ids are specified, then is_trusted will be false.

apis
array<string>
optional

A list of APIs that the partner has been granted access.

total
integer
optional

The number of partners returned in the response.

{
  "total": 2,
  "users": [
    {
      "username": "internal_api_user",
      "gateway_id": "bb4a074753b749319088c860dd3729de",
      "is_trusted": true,
      "apis": [
        "ops_api_v2",
        "ops_api_v2_auth"
      ]
    },
    {
      "username": "partner_api_user",
      "client_ids": [
        1000,
        2000,
        3000
      ],
      "gateway_id": "751f4240b72a4959a6a1ce5e246830af",
      "is_trusted": false,
      "apis": [
        "ops_api_v2",
        "ops_api_v2_auth"
      ]
    }
  ]
}

Create a partner

/v3/partners
Description

Creates a partner

Header Parameters
apikey
string

The API Key that allows access to internal endpoints. Find the API key for your environment here.

Request Body
username
string

The username the partner will use to authenticate

password
string

The password the partner will use to authenticate

client_ids
array<integer>
optional

The client_ids that the partner has access to. Either client_ids or is_trusted parameter must be defined.

is_trusted
boolean
optional

Indicates whether this partner has access to all clients. Either is_trusted or client_ids parameter must be defined.

apis
array<string>

The list of APIs the partner has access to.

Responses
HTTP 201 Created
username
string
optional

The username of the partner

client_ids
array<integer>
optional

The IDs of the clients that the partner has access to. If is_trusted is true, then client_ids will be ommitted.

gateway_id
string
optional

The API Gateway ID corresponding to this partner.

is_trusted
boolean
optional

Indicates whether this partner has access to all clients.

apis
array<string>
optional

The list of APIs the partner has access to.

refresh_token
string
optional

The new refresh_token to be used to generate access_tokens.

{
  "username": "internal_api_user",
  "gateway_id": "bb4a074753b749319088c860dd3729de",
  "client_ids": [
    9999,
    9998
  ],
  "is_trusted": false,
  "apis": [
    "ops_api_v2",
    "ops_api_v2_auth"
  ],
  "refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJpbnRlcm5hbF9hcGlfdXNlciIsImlzcyI6ImludGVybmFsX2FwaV91c2VyLWF1dGgifQ.KuQQ6pu0slD0Rfhqy5Qz3emTMdSKIoBtPyLPss4nx2Y"
}

Get partner details

/v3/partners/{username}
Description

Get partner details

Header Parameters
apikey
string

The API Key that allows access to internal endpoints. Find the API key for your environment here.

Path Parameters
username
string

Username of partner to retrieve

Responses
HTTP 200 OK
username
string
optional

The username of the partner

client_ids
array<integer>
optional

The IDs of the clients that the partner has access to. If is_trusted is true, then client_ids will be ommitted.

gateway_id
string
optional

The API Gateway ID corresponding to this partner.

is_trusted
boolean
optional

Indicates whether this partner has access to all clients.

apis
array<string>
optional

The list of APIs the partner has access to.

{
  "username": "internal_api_user",
  "gateway_id": "bb4a074753b749319088c860dd3729de",
  "client_ids": [
    9999,
    9998
  ],
  "is_trusted": false,
  "apis": [
    "ops_api_v2",
    "ops_api_v2_auth"
  ]
}

Update a partner

/v3/partners/{username}
Description

Updates a partner details.

Header Parameters
apikey
string

The API Key that allows access to internal endpoints. Find the API key for your environment here.

Path Parameters
username
string

Username of partner to update

Request Body
new_username
string

The updated username the partner will use to authenticate

password
string
optional

The updated password the partner will use to authenticate

client_ids
array<integer>
optional

The updated IDs of clients that the partner has access to. Either client_ids or is_trusted parameter must be defined.

is_trusted
boolean
optional

Indicates whether this partner has access to all clients. Either is_trusted or client_ids parameter must be defined.

apis
array<string>

The list of APIs the partner has access to.

Responses
HTTP 200 OK
username
string
optional

The username of the partner

client_ids
array<integer>
optional

The IDs of clients that the partner has access to. If is_trusted is true, then client_ids will be ommitted.

gateway_id
string
optional

The API Gateway ID corresponding to this partner.

is_trusted
boolean
optional

Indicates whether this partner has access to all clients.

apis
array<string>
optional

The list of APIs the partner has access to.

refresh_token
string
optional

The new refresh_token to be used to generate access_tokens.

{
  "username": "internal_api_user",
  "gateway_id": "bb4a074753b749319088c860dd3729de",
  "is_trusted": "false,",
  "client_ids": [
    9999,
    9998
  ],
  "apis": [
    "ops_api_v2"
  ],
  "refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJpbnRlcm5hbF9hcGlfdXNlciIsImlzcyI6ImludGVybmFsX2FwaV91c2VyLWF1dGgifQ.KuQQ6pu0slD0Rfhqy5Qz3emTMdSKIoBtPyLPss4nx2Y"
}

Delete a partner

/v3/partners/{username}
Description

Deletes a partner and any access they have to API resources.

Header Parameters
apikey
string

The API Key that allows access to internal endpoints. Find the API key for your environment here.

Path Parameters
username
string

The username of the partner to delete

Responses
HTTP 204 No Content

Create partner access token

/v3/partners/oauth2/token
Description

This is an OAuth 2.0 authorization endpoint for retrieving partner tokens. It returns a JSON web token (JWT) to use for access to API resources. This token provides scoped access to data specified with the scope parameter. See the Authorization tutorial for more information.

Request Body
grant_type
string

The OAuth 2.0 grant type supported by this endpoint.

Valid values: client_credentials
client_id
string

The partner username provided by Daxko

client_secret
string

The partner password provided by Daxko

scope
string

A space-delimited list of scope:value pairs. Sets the scopes which the token will be restricted. Format is <scope_name>:<scope_value> [<scope_name>:<scope_value>] Valid scopes are

ScopeDescriptionValue Type
clientThe token will be restricted to this clientinteger
tokenizeThe cart_id of the registrationUUID
Example: client:9999 tokenize:9e606048-9e89-40bb-9ed1-3bda8f65d1fc
Responses
HTTP 200 OK
access_token
string
optional

The issued access token. When the grant type is client_credentials, the access_token should always be secured on your server and not be sent to a web browser or mobile device.

token_type
string
optional

The type of token issued.

Valid values: bearer
expires_in
integer
optional

The lifetime in seconds of the access token.

Example: 3600
{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJhcGlfdXNlci0wMDAwIiwic3ViIjoiYXBpX3VzZXIiLCJpYXQiOjE0ODcxODYzMDksImV4cCI6MTQ4NzI3MjcwOSwiY2xpZW50X2lkIjowLCJhcGkiOiJvcHNfYXBpX3YyIn0.rvi7z3UcXWiKhesr8Qbx_vwi_pEFudHn7d3fbeCQZ1o",
  "token_type": "bearer",
  "expires_in": 86400
}
HTTP 400 Bad Request
error
string
optional

The type of the error occured.

Valid values: invalid_request, invalid_client, invalid_grant, unauthorized_client, unsupported_grant_type, invalid_scope
error_description
string
optional

The description about the error occured.

Create member access token

/v3/partners/oauth2/members/token
Description

This is an OAuth 2.0 authorization endpoint for retrieving member scoped access tokens. See Member Authentication Tutorial

Request Body
grant_type
string

The OAuth 2.0 grant type supported by this endpoint.

Valid values: authorization_code, refresh_token
client_id
string

The partner username provided by Daxko

client_secret
string

The partner password provided by Daxko

code
string
optional

The authorization code that Daxko redirects to your site with via the code URL parameter. Required when grant_type is authorization_code.

Example: haOFJDr87EaP0d0tllfL0MHsVfIvJTHaOPPaTbixRXw
redirect_uri
string
optional

The exact redirect URL that you used when you built the URL to the Daxko Operations Auth Form. Required when grant_type is authorization_code.

Example: https://www.mysite.com/login_success
refresh_token
string
optional

The refresh_token to exchange for an access_token. Required when grant_type is refresh_token.

Example: kaQFJDr8mEaPas34f0tllfL0MvbhsVfIffJHaOPPaTbij
Responses
HTTP 200 OK
access_token
string

The issued access token scoped to a single member

refresh_token
string
optional

The issued refresh token scoped to a single member. This will expire in 90 days from being issued or when the member changes their password.

token_type
string

The type of token issued.

Valid values: bearer
expires_in
integer

The lifetime in seconds of the access token.

Example: 600
{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJhcGlfdXNlci0wMDAwIiwic3ViIjoiYXBpX3VzZXIiLCJpYXQiOjE0ODcxODYzMDksImV4cCI6MTQ4NzI3MjcwOSwiY2xpZW50X2lkIjowLCJhcGkiOiJvcHNfYXBpX3YyIn0.rvi7z3UcXWiKhesr8Qbx_vwi_pEFudHn7d3fbeCQZ1o",
  "token_type": "bearer",
  "expires_in": 600
}
HTTP 400 Bad Request
error
string
optional

The type of the error occured.

Valid values: invalid_request, invalid_client, invalid_grant, unauthorized_client, unsupported_grant_type
error_description
string
optional

The description about the error occured.

Get member OAuth2 settings

/v3/partners/oauth2/members/settings
Description

Get member-authentication OAuth2 form Settings. See Member Authentication Tutorial for more details.

Responses
HTTP 200 OK
settings
object
optional

The OAuth2 settings associated with the principal.

valid_redirect_uris
array<string>
optional

List of redirect URLs on your site that are valid for Daxko Operations to redirect to after the member is authenticated.

{
  "settings": {
    "valid_redirect_uris": [
      "https://www.mysite.org/successful_login"
    ],
    "links": {
      "sign_up": {
        "url": "https://www.mysite.org/my_sign_up_process"
      },
      "forgot_password": {
        "url": "https://www.mysite.org/my_forgot_password_process"
      }
    }
  }
}

Save member OAuth2 settings

/v3/partners/oauth2/members/settings
Description

Configure member authentication OAuth form. See Member Authentication Tutorial for more details.

NOTE: the Authorization header should use the main access token used for other api calls.

Example Headers:

"Authorization": "Bearer <your_access_token>"
"Content-Type": "application/json"
"Accept": "application/json"
Request Body
settings
object
optional

The OAuth2 settings associated with the principal.

valid_redirect_uris
array<string>
optional

List of redirect URLs on your site that are valid for Daxko Operations to redirect to after the member is authenticated.

Responses
HTTP 200 OK
success
boolean
optional

Whether the operation was completed successfully.

{
  "success": true
}

Password Recovery

The Password Recovery API allows a member to reset their password if forgotten.

Send password recovery email

/v3/password_recovery/email
Description

The email will be set with from address sent to client email address. The URL in the email will follow the format <reset-url>?<token_parameter_name>=<generated-token>. For example, the request

POST /password_recovery
{
  "username": "johndoe@daxko.com",
  "reset_url": "https://www.sample.com",
  "token_parameter": "token-parameter"
}

would generate an email with HTML

<html>
<div style=""display: none;"">&nbsp;</div>
<body>
    <div>
        You recently requested to reset your password for your account.
        Click the link below to reset it.
    </div>
    <div>&nbsp;</div>
    <div><strong>This password reset is only valid for 24 hours.</strong></div>
    <div>&nbsp;</div>
    <div><a href="https://www.sample.com:443/website?token-parameter=b4277211-c138-47b3-abfc-a050f6f01517">Reset Password</a></div>
    <div>&nbsp;</div>
    <div>If you did not request a password reset, please ignore this email or <a href="mailto:support@sample.com">contact support</a> if you have questions.</div>
    <div>&nbsp;</div>
    <div>If you're having trouble with the link above, copy and paste the URL below into your browser.</div>
    <div>&nbsp;</div>
    <div>
      <a href="https://www.sample.com:443/website?token-parameter=b4277211-c138-47b3-abfc-a050f6f01517">
        https://www.sample.com:443/website?token-parameter=b4277211-c138-47b3-abfc-a050f6f01517
      </a>
    </div>
</body>
<footer><strong>Daxko Gym</strong></footer>
</html>
Request Body
username
string

Username of member requesting password recovery

reset_url
string

The base URL of where the token

token_parameter_name
string
optional

The query parameter name that will contain the token value.

Default: token
Responses
HTTP 200 OK

Create password recovery token

/v3/password_recovery/token
Description

This token can be used to reset a member's password. This is useful for custom reset password mechanism and if you prefer to send your own custom reset password template emails. The token returned by this endpoint can be used in the POST /password_recovery/token/{id} endpoint.

Request Body
username
string

Username of member requesting password recovery

Responses
HTTP 201 Created
token
string
optional

The password recovery token to be used when calling the POST /password_recovery/token/{id} endpoint.

Example: b4277211-c138-47b3-abfc-a050f6f01517
{
  "token": "b4277211-c138-47b3-abfc-a050f6f01517"
}

Verify password recovery token

/v3/password_recovery/token/{id}
Description

This endpoint is useful for validating a token before making a call to the POST /password_recovery/token/{id} endpoint.

Path Parameters
id
string

Password reset token generated by API

Example: b4277211-c138-47b3-abfc-a050f6f01517
Responses
HTTP 204 No Content

Change member password

/v3/password_recovery/token/{id}
Description

This endpoint will change a member's password and send an email notifying the member of the password change with the following content:

<html>
  <div style=""display: none;"">&nbsp;</div>
  <head>
    <title></title>
  </head>
  <body>
      <div>The password for your account was recently changed.</div>
      <div>&nbsp;</div>
      <div>If you made this change, you don't need to do anything more.</div>
      <div>&nbsp;</div>
      <div>If you didn't make this change, please <a href=""mailto:{Client Email Address}"">contact support</a> to let us know.</div>
  </body>
  <footer><strong>{Client Name}</strong></footer>
</html>
Path Parameters
id
string

Password reset token generated by API

Example: b4277211-c138-47b3-abfc-a050f6f01517
Request Body
password
string

New password for member

Responses
HTTP 204 No Content

Programs

The Programs API retrieves program data.

Search program offerings

/v3/programs/offerings/search
Description

This call returns offerings for the different Daxko Operations program types as a common format and accepts a number of search parameters.

Query Parameters
time_ranges
string
optional

Restricts results to match at least 1 of the specified start time ranges. NOTE: If the source offering in Daxko Operations does not have a time defined, then those results will always be returned but the score will be lower.

Example: [object Object],[object Object]
as_of
string
optional

Restricts results to have the specified start and end datetime in at least one of the registration datetime ranges. See As of date tutorial.

Default: { start:<datetime of request>, end:<datetime of request>, mode:registration_occurs_between, }
Example: { start:2017-04-19T09:58:32, end:2017-04-23T09:58:32, mode:registration_occurs_between, }
location_ids
array<string>
optional

Restricts the results to comma delimited list of locations. If omitted, no location-based restrictions will be applied.

Example: B27,S34
category_ids
array<string>
optional

Restricts the results to comma delimited list of categories. If omitted, no category based restrictions will be applied.

Example: CAT1234,TAG3455
offering_types
array<string>
optional

Restricts the results to only be associated with certain types of program offerings. If omitted, returns offerings associated with all types of program offerings.

Program Offering TypeFilter Value
Standardsession
Packagepackage
Childcarerate_plan
Campcamp_instance
Valid values: session, package, rate_plan, camp_instance
registration_type
string
optional

Restricts the list of offerings to only in-house or online program offerings. Default behavior is to return both in-house and online program offerings.

Default: online
Valid values: in_house, online
include_inactive_categories
boolean
optional

Indicates whether to show inactive categories. Default behavior will omit inactive categories.

Default: false
include_inactive_locations
boolean
optional

Indicates whether to show categories associated with inactive locations. Default behavior will omit categories associated with inactive locations.

Default: false
days_offered
string
optional

Restricts results to be match at least 1 of the days as the query parameter. The score on each individual result will be higher if more days match. NOTE: If the source offering in Daxko Operations does not have days offered defined, then those results will always be returned, but the score will be lower.

Example: 1,3,5
keywords
string
optional

Keywords for performing full text search. The following fields are searched: offering name, offering description, program name, program description, category name, instructor name, contact name.

Example: swim lessons
date_ranges
string
optional

Restricts results that occur within at least one of the date ranges.

Example: [object Object],[object Object]
birth_dates
string
optional

Restricts results based on comma-delimited list of birth dates. At least one of the birth dates in the collection must be eligible for the offering based on the offering set up in Daxko Operations.

Example: 1982-05-21,1981-06-28
include_facets
boolean
optional

Controls whether facets (statistics) of the current search are returned. This controls whether the facets property is returned.

Default: false
time_range_facets
string
optional

If include_facets query parameter is true, this allows customization of what ranges are returned in facets.time_ranges.

Example: [object Object],[object Object]
limit
integer
optional

Number of offering results to return (max of 100). If you set to 0 and set include_facets to true, you can still get the facet results without the individual offering results.

Default: 100
Example: 100
sort
array<string>
optional

Determines how the offering results will be sorted. By default, the sorting will be by score (descending order). For more information on sorting options, see the Sorting section of the Getting Started Tutorial for more information. All fields correspond to the fields described in the response body.

The supported fields and their default sort orders for this API call are

FieldDefault sort order
scoredescending
nameascending
start_dateascending
Default: -score
Example: +name,-score
Valid values: name, score, start_date
program_id
array<string>
optional

Restricts the results to comma-delimited list of program ids. If omitted, no category-based restrictions will be applied.

Example: TMP1234567,TMP8675309
after
string
optional

This parameter is used as a cursor to fetch the next page of results. Use the after value from a previously returned response body, or, use the URL link returned in the links response value to avoid having to construct your own URL.

View the Paging section of the Getting Started Tutorial for more information.

Example: c2FtcGxlIG5hbWUsb2ZmZXJpbmcjOTk5OS1DQzEyMzQtUlA1Njc4
Responses
HTTP 200 OK
after
string<byte>
optional

A pagination cursor to use when fetching the next page of results. This value will be omitted if the response contains the last page of results. View the Paging section of the Getting Started Tutorial for more information.

Example: c2FtcGxlIG5hbWUsb2ZmZXJpbmcjOTk5OS1DQzEyMzQtUlA1Njc4
limit
integer
optional

The maximum number of items requested. This value is the same value as the limit query parameter on the request.

total
integer
optional

The total number of documents found that match the query criteria. This number can be greater than the number of results returned and is independent of the limit request query parameter value.

offerings
array<object>
optional

Search results. This property will only have results if the limit property is greater than 0 and there are matching results based on the input query parameters.

id
string
optional

Offering id

type
string
optional

Offering type

Valid values: rate_plan, camp_instance, session, package
name
string
optional

Offering name

description
string
optional

Offering description

start_date
string<date-time>
optional

Offering start date

end_date
string<date-time>
optional

Offering end date

program
object
optional

Program Information

id
string
optional

Program ID

type
string
optional

Program type

name
string
optional

Program Name

description
string
optional

Program description. NOTE: programs of type session and package will not have a description.

locations
array<object>
optional

Locations of the offering

id
string
optional

The ID of the location.

name
string
optional

The name of the location.

type
string
optional

The type of location, 'branch' or 'site'.

categories
array<object>
optional

Categories that offering is a part of

id
string
optional

The ID of the category.

name
string
optional

The name of the category.

groups
array<object>
optional
id
string
optional

ID of the fee group

Example: FG1234
name
string
optional

Name of the fee group. This name is customizable by the client, so the values used in the examples will not always be used."

Example: Members
rate
object
optional

Rate information

min_amount
number
optional

Minimum fee amount

max_amount
number
optional

Maximum fee amount

frequency
string
optional

Frequency of rate

Valid values: flat, weekly, bi_weekly, semi_monthly, daily, monthly
unit
string
optional

Unit that the amount is in.

Valid values: week, every other week, semi-monthly, month, day
description
string
optional

Display friendly description of rate

Example: $100.00/week
times
array<object>
optional

Times that the offering occurs on. Offering types of camp_instance and rate_plan will always return an empty array. For offering type of session, times are optional based on the set-up in Daxko Operations.

start
string
optional

Start time in format of hh:mm.

end
string
optional

End time in format of hh:mm.

restrictions
array<object>
optional

Restriction Information

genders
array<object>
optional

Genders that registration is restricted to

id
string
optional

Single character id of gender

Example: 'M' or 'F'
name
string
optional

Display friendly gender

Example: 'Male' or 'Female'
dob
object
optional

Date of birth restriction. This property will not exist if there is no dob restriction.

start
string<date-time>
optional

Start date of birth

end
string<date-time>
optional

End date of birth

age
object
optional

Age restriction. This property will not exist if there is no age restriction.

start
integer
optional

Start age range

end
integer
optional

End age range

days_offered
object
optional

Days offered. This is an optional setting for all offering types, so the array might be empty.

id
string

ISO 8601 day of week identifier. 1 = Monday, 7 = Sunday.

Example: 1
name
string

Name of day of week

Example: Monday
score
number
optional

Relative score of offering based on search parameters. Results with higher relevance will have a higher number.

Example: 5.43232
highlights
array<object>
optional

If keywords is specified as a query parameter, then this return snippets of matched text surrounded by <mark> tags. Otherwise, this property will be an empty array.

key
string
optional

Key of matched property.

Example: offering_name
text
string
optional

Text snippets that match full text keywords search. The matched text will be surrounded by <mark> tags

Example: Our <mark>swim</mark> classes are available during...
registration
object
optional

Summary of registration information

start
string<datetime>
optional

Minimum registration date/time (for any fee group)

end
string<datetime>
optional

Maximum registration date/time (for any fee group)

state
string
optional

Whether registration is open or closed based on the as_of.start query parameter

Valid values: open, closed
facets
object
optional

Statistical information based on the current query. This property will only exist if include_facets query parameter is true.

locations
array<object>
optional

Location stats

id
string
optional

Location ID

name
string
optional

Location Name

program_count
integer
optional

Count of offerings that match this location

offering_count
integer
optional

Count of programs that match this location

is_active
boolean
optional

Indicates if the location is active.

show_online
boolean
optional

Indicates if the location is set to be visible online

categories
object
optional

Category stats

id
string
optional

Category ID

name
string
optional

Category Name

offering_count
integer
optional

Count of offerings that match this category

program_count
integer
optional

Count of programs that match this category

is_active
boolean
optional

Indicates if the category is active.

show_online
boolean
optional

Indicates if the category is set to be visible online

days_of_week
object
optional

Day of week stats

id
string
optional

ISO 8601 id for day of week. 1=Monday, 7=Sunday

name
string
optional

Day of week name

offering_count
integer
optional

Count of offerings that match this day of week

program_count
integer
optional

Count of programs that match this day of week

programs
array<object>
optional

Program stats

id
string
optional

Program ID

name
string
optional

Program Name

offering_count
integer
optional

Count of offerings that match this program

time_ranges
array<object>
optional

Time range stats. This property will only exist if the time_range_facets query parameter is supplied.

start
string
optional

Start time in hh:mm format

end
string
optional

End time in hh:mm format

program_count
integer
optional

Count of programs that match this time range

offering_count
integer
optional

Count of offerings that match this time range

{
  "total": 344,
  "limit": 100,
  "offerings": [
    {
      "id": "SES1811026",
      "type": "session",
      "name": "VE - 2015 Master's Swim  ",
      "description": "This is the offering description",
      "start_date": "2015-01-01T00:00:00.0000000",
      "end_date": "2015-12-31T00:00:00.0000000",
      "program": {
        "id": "TMP39688",
        "type": "traditional",
        "name": "Aquatics - Other",
        "description": "This is the program description"
      },
      "locations": [
        {
          "id": "B447",
          "name": "Branch #1",
          "type": "branch"
        }
      ],
      "categories": [
        {
          "id": "TAG114",
          "name": "Dance - Adult"
        }
      ],
      "groups": [
        {
          "id": "FG79",
          "name": "Non-Members",
          "rate": {
            "min_amount": 10,
            "max_amount": 10,
            "frequency": "flat",
            "unit": "",
            "description": "$10.00"
          }
        },
        {
          "id": "FG78",
          "name": "Program Member",
          "rate": {
            "min_amount": 10,
            "max_amount": 10,
            "frequency": "flat",
            "unit": "",
            "description": "$10.00"
          }
        }
      ],
      "restrictions": {
        "genders": [
          {
            "id": "M",
            "name": "Male"
          },
          {
            "id": "F",
            "name": "Female"
          }
        ],
        "dob": {
          "start": "1915-01-02T00:00:00.0000000",
          "end": "1996-01-01T00:00:00.0000000"
        },
        "age": {
          "start": 5,
          "end": 8
        }
      },
      "times": [
        {
          "start": "05:30",
          "end": "06:30"
        }
      ],
      "days_offered": [
        {
          "id": "1",
          "name": "Monday"
        },
        {
          "id": "3",
          "name": "Wednesday"
        },
        {
          "id": "5",
          "name": "Friday"
        }
      ],
      "highlights": [
        {
          "key": "offering_name",
          "text": "VE - 2015 Master's <mark>Swim</mark>  "
        },
        {
          "key": "category_name",
          "text": "Master's <mark>Swim</mark>"
        }
      ],
      "registration": {
        "start": "2015-04-14T00:00:00.0000000",
        "end": "2015-07-01T23:59:00.0000000",
        "state": "closed"
      },
      "score": 4.334
    },
    "..."
  ],
  "facets": {
    "locations": [
      {
        "name": "Branch #1",
        "id": "B221",
        "program_count": 49,
        "offering_count": 107
      },
      {
        "name": "Branch #2",
        "id": "B210",
        "program_count": 2,
        "offering_count": 5
      },
      {
        "name": "Site #1",
        "id": "S1234",
        "program_count": 16,
        "offering_count": 24
      }
    ],
    "categories": [
      {
        "name": "$50 Program Credit",
        "id": "TAG43294",
        "program_count": 1,
        "offering_count": 11
      },
      {
        "name": "AWAY Guest",
        "id": "TAG6161",
        "program_count": 1,
        "offering_count": 11
      },
      {
        "name": "Adult Sports",
        "id": "TAG8557",
        "program_count": 2,
        "offering_count": 2
      },
      {
        "name": "After School",
        "id": "TAG4751",
        "program_count": 1,
        "offering_count": 3
      }
    ],
    "days_of_week": [
      {
        "name": "Monday",
        "id": 1,
        "program_count": 145,
        "offering_count": 302
      },
      {
        "name": "Tuesday",
        "id": 2,
        "program_count": 149,
        "offering_count": 354
      },
      {
        "name": "Wednesday",
        "id": 3,
        "program_count": 141,
        "offering_count": 289
      },
      {
        "name": "Thursday",
        "id": 4,
        "program_count": 144,
        "offering_count": 373
      },
      {
        "name": "Friday",
        "id": 5,
        "program_count": 132,
        "offering_count": 240
      },
      {
        "name": "Saturday",
        "id": 6,
        "program_count": 43,
        "offering_count": 145
      },
      {
        "name": "Sunday",
        "id": 7,
        "program_count": 27,
        "offering_count": 45
      }
    ],
    "time_ranges": [
      {
        "start": "05:00",
        "end": "10:59",
        "program_count": 13,
        "offering_count": 79
      },
      {
        "start": "11:00",
        "end": "16:59",
        "program_count": 21,
        "offering_count": 66
      },
      {
        "start": "17:00",
        "end": "22:00",
        "program_count": 29,
        "offering_count": 338
      }
    ],
    "programs": [
      {
        "id": "TMP1514722",
        "name": "Swim Lessons - Pre-School - 1 Pike I - Level 1",
        "offering_count": 49
      },
      {
        "id": "TMP3668711",
        "name": "Youth Sports - Flag Football ",
        "offering_count": 43
      },
      {
        "id": "TMP1515533",
        "name": "Aquatics - Swim Lessons - Private Lessons",
        "offering_count": 35
      },
      {
        "id": "TMP1514933",
        "name": "Swim Lessons - Youth - 1 Polliwog I",
        "offering_count": 34
      }
    ]
  },
  "after": "U2FtcGxlIE9mZmVyaW5nIE5hbWUsb2ZmZXJpbmcjOTk5OS1DQzEyMzQtUlA1Njc4",
  "links": [
    {
      "rel": "next",
      "href": "/programs/offerings/search?keywords=swim&limit=5&sort=name&after=U2FtcGxlIE9mZmVyaW5nIE5hbWUsb2ZmZXJpbmcjOTk5OS1DQzEyMzQtUlA1Njc4"
    }
  ]
}

Get list of offerings for particular program

/v3/programs/{program_id}/offerings
Description

This call returns offerings that are available for registration for the different Daxko Operations program types as a common format.

For traditional programs and program packages:

  • The list of offerings is the list of sessions on this program combined with the location (there is only one possible location for a session or package)
  • {program_id} refers to a program or package in Daxko Operations (go to Programs : Browse Programs : Select a tag) and then click then edit pencil next to the top level item in the tree. This will take you to ProgramTemplate.aspx?tid={program_id}.
  • The prefix for a traditional program type is 'TMP'. Example: if you see ProgramTemplate.aspx?tid=1234, then the {program_id} to pass to this API call would be 'TMP1234'.
  • The prefix for a program package type is 'PP'. Example: if you see ProgramTemplate.aspx?tid=1234, the the {program_id} to pass to this API call would be 'PP1234'.

For child care programs:

  • The list of offerings is rate plans on this program combined with all of the possible locations on this program.
  • {program_id} refers to a child care program in Daxko Operations (go to Child Care : Browse Programs : Filter by Child Care programs and click the edit pencil). This will take you to ProgramsWizard.mvc?program_id={program_id}.
  • The prefix of the program type is 'CC'. Example: if you see ProgramsWizard.mvc?program_id=1234, then the {program_id} to pass to this API call would be 'CC1234'.

For camp programs:

  • The list of offerings is camp instances on this program combined with all of the possible locations on this program.
  • {program_id} refers to a child care program in Daxko Operations (go to Child Care : Browse Programs : Filter by Camp programs and click the edit pencil). This will take you to ProgramsWizard.mvc?program_id={program_id}.
  • The prefix of the program type is 'CMP'. Example: if you see ProgramsWizard.mvc?program_id=1234, then the {program_id} to pass to this API call would be 'CMP1234'.
Path Parameters
program_id
string

See description above for examples of program ids.

Query Parameters
as_of
string
optional

Restricts results to have the specified start and end datetime in at least one of the registration datetime ranges. See As of date tutorial.

Default: {start:<datetime of request>,end:<datetime of request>,mode:registration_occurs_between}
Example: {start:2017-04-19T09:58:32,end:2017-04-23T09:58:32,mode:registration_occurs_between}
category_ids
string
optional

Comma-delimited list of category ids to filter by. Example: 'TAG1234' is programs tag with id 1234, 'CAT5678' is a child care/camp category with id 5678

location_ids
string
optional

Comma delimited list of location ids to filter by. Example: 'B1234' is branch with id 1234. 'S5678' is site with id 5678.

registration_type
string
optional

Filters results that are currently open for registration.

Default: online
Valid values: online, in_house
offering_ids
string
optional

Comma delimited list of offering ids to filter by.

Example: SES12345,SES67890
Responses
HTTP 200 OK
program
object
optional

Program information

name
string
optional

Program name

description
string
optional

Program description

offerings
array<object>
optional

If this is a traditional program, this is a list of sessions. If this is a Child Care program, this is a list of rate plans. If this is a Camp program, this is a list of camp instances.

id
string
optional

Offering ID

name
string
optional

Offering name

description
string
optional

Offering description

start
string<date>
optional

Offering start date

end
string<date>
optional

Offering end date

locations
array<object>
optional

Offering locations

id
string
optional

Location ID

name
string
optional

Location name

availability
object
optional

Availability information

limited
boolean
optional

true if the offering has a limited number of seats, false if offering has an unlimited number of seats

full
boolean
optional

true if the offering has reached maximum number of seats. NOTE: for Child Care programs, this field is deprecated and the value will always be false for maintain backwards compatibility. Use the status for Child Care programs.

has_waiting_list
boolean
optional

true if the offering has the waiting list option enabled

status
string
optional

Status of availability. unknown will always be the value for child care programs (in order to determine availability of a child care program, you must use the Get program offering details API call.

Valid values: unknown, full, availabile, full_with_waiting_list
groups
array<object>
optional

Program fee groups

id
string
optional

Fee group id

name
string
optional

Fee group name

rate
object
optional

Rate information

min_amount
number
optional

Minimum fee amount

max_amount
number
optional

Maximum fee amount

frequency
string
optional

Frequency of rate

Valid values: flat, weekly, bi_weekly, semi_monthly, daily, monthly
unit
string
optional

Unit that the amount is in.

Valid values: week, every other week, semi-monthly, month, day
description
string
optional

Display friendly description of rate

Example: $100.00/week
restrictions
object
optional
genders
array<object>
optional

Genders that are allowed to register for program

id
string
optional

M or F

Valid values: M, F
name
string
optional

Male or Female

age
object
optional

Age range that is allowed to register for program. If this property does not exist, then there is not an age range restriction. This value is evaluated based on the offering start date.

start
integer
optional

Start age

end
integer
optional

End age

dob
object
optional

Date of birth range that is allowed to register for program. If this property does not exist, then there is not a date of birth restriction.

start
string<date>
optional

Start birth date

end
string<date>
optional

End birth date

expires_in
number
optional

For program packages only. The number of months after purchase when a package expires.

days_offered
array<object>
optional

Days that the offering is available on. If the array is empty, this does not necessarily mean that the offering is not available on this day, it means that when the program was set up, this option was not set.

id
number
optional

ISO8601 integer for day of week. 1 is Monday, 7 is Sunday, etc.

name
string
optional

Full name of day of week

Example: Monday
times
array<object>
optional

Times that the offering is available. The date portion is always returned as 1900-01-01. For example, 1900-01-01T08:00:00.0000000 means that the offering starts at 8:00 AM local time.

start
string
optional

Start time

end
string
optional

End time

registration
object
optional

Summary of registration information

start
string<datetime>
optional

Minimum registration date/time (for any fee group)

end
string<datetime>
optional

Maximum registration date/time (for any fee group)

state
string
optional

Whether registration is open or closed based on the as_of.start query parameter

Valid values: open, closed
{
  "program": {
    "name": "My program name",
    "description": ""
  },
  "offerings": [
    {
      "id": "SES902199",
      "name": "My session name",
      "description": "My session description",
      "start": "2020-01-01T00:00:00.0000000",
      "end": "2020-01-02T00:00:00.0000000",
      "locations": [
        {
          "id": "B12345",
          "name": "My location name",
          "availability": {
            "limited": true,
            "full": false,
            "has_waiting_list": false,
            "status": "available"
          }
        }
      ],
      "groups": [
        {
          "id": "FG434",
          "name": "Facility Member",
          "rate": {
            "min_amount": 10,
            "max_amount": 10,
            "frequency": "flat",
            "unit": "",
            "description": "$10.00"
          }
        },
        {
          "id": "FG79",
          "name": "Non-Members",
          "rate": {
            "min_amount": 10,
            "max_amount": 10,
            "frequency": "flat",
            "unit": "",
            "description": "$10.00"
          }
        },
        {
          "id": "FG78",
          "name": "Program Member",
          "rate": {
            "min_amount": 10,
            "max_amount": 10,
            "frequency": "flat",
            "unit": "",
            "description": "$10.00"
          }
        }
      ],
      "restrictions": {
        "genders": [
          {
            "id": "M",
            "name": "Male"
          },
          {
            "id": "F",
            "name": "Female"
          }
        ],
        "age": {
          "start": 1,
          "end": 2
        }
      },
      "days_offered": [
        {
          "id": 1,
          "name": "Monday"
        },
        {
          "id": 2,
          "name": "Tuesday"
        },
        {
          "id": 3,
          "name": "Wednesday"
        },
        {
          "id": 4,
          "name": "Thursday"
        },
        {
          "id": 5,
          "name": "Friday"
        }
      ],
      "times": [
        {
          "start": "1900-01-01T08:00:00.0000000",
          "end": "1900-01-01T09:00:00.0000000"
        }
      ],
      "scholarship": {
        "enabled": false
      },
      "registration": {
        "start": "2014-12-11T00:00:00.0000000",
        "end": "2015-01-29T23:59:00.0000000",
        "state": "open"
      }
    }
  ]
}

Get program offering details

/v3/programs/{program_id}/offerings/{offering_id}
Description

This call returns offerings for the different Daxko Operations program types as a common format. There are some notes specific to the different program types as follows:

For traditional programs or program packages:

  • The details collection is a list of segments associated with the {offering_id}
  • details.name will only have a value if the program type is a package sale
  • max_days property does not exist, as this only applies to child care and camp (maximum number of days that the rate plan pays for).

For child care programs:

  • The details collection will always have 1 item in the collection.
  • If the offering is a daily rate, then details.rate.amount will be null, and instead details.rate.amounts will return a mapping of day to amount, where rate.amounts.id is the ISO 8601 representation of the day of the week. Example:
"rate": {
    "frequency": "daily",
    "amounts": [
      {
        "amount": 0,
        "id": 1,
        "name": "Monday"
      },
      {
        "amount": 1,
        "id": 3,
        "name": "Wednesday"
      },
      {
        "amount": 3,
        "id": 5,
        "name": "Friday"
      }
    ],
    ...
}

For camp programs:

  • The details collection will always have 1 item in the collection. General notes:
  • On the groups.registration_dates collection, none of the dates are translated to UTC. This will be the same date that is entered in the UI. Example, if the UI shows registration starting on 5/1/2020 at 8:15 AM, then the date in the response will be 2020-05-01T08:15:00.0000000
  • The restrictions.genders property will always exist and have the values of only M, only F, or the combination of M and F.
  • The restrictions.dob property will not exist if there is not a date of birth restriction
  • The restrictions.age property will not exist if there is not an age restriction
  • The restrictions.expires_in property only exist for program packages that have an Expiration configured
Path Parameters
program_id
string

See /programs/{program_id}/offerings call for how to get program id.

offering_id
string

See /programs/{program_id}/offerings call for how to get offering id.

Query Parameters
location_id
string

Example: B1234 would be branch with id 1234. S5678 would be site with 5678.

Responses
HTTP 200 OK
id
string
optional

Offering id

name
string
optional

Offering name

description
string
optional

Offering description

program
object
optional

Program Information

id
string
optional

Program ID

name
string
optional

Program Name

restrictions
object
optional

Restriction Information

genders
array<object>
optional

Genders that registration is restricted to

id
string
optional

Single character id of gender

Example: M or F
name
string
optional

Display friendly gender

Example: Male or Female
dob
object
optional

Date of birth restriction. This property will not exist if there is no dob restriction.

start
string<date-time>
optional

Start date of birth

end
string<date-time>
optional

End date of birth

age
object
optional

Age restriction. This property will not exist if there is no age restriction.

start
integer
optional

Start age range

end
integer
optional

End age range

location
object
optional

Location offering occurs at

id
string
optional
name
string
optional
people
array<object>
optional

People associated with this location

type
string
optional

Type of person

Valid values: contact, instructor
name
string
optional

Full name

email
string
optional

Email address

phone
string
optional

Phone number

address1
string
optional

First street address line of location

address2
string
optional

Second street address line of location, if specified

city
string
optional

City of location

state
string
optional

State of location

zip
string
optional

Zip code of location

categories
array<object>
optional

Categories that offering is a part of

id
string
optional
name
string
optional
details
array<object>
optional
id
string
optional
name
string
optional
description
string
optional
start
string<date>
optional

Start date

end
string<date>
optional

End date

due
object
optional
description
string
optional

Display friendly description of when fee is due

availability
object
optional

Availability

limited
boolean
optional

If true, then there is a limit to number of seats available.

full
boolean
optional

If true, there are no spots available.

max
integer
optional

If limited is true, then this property will exist and indicate the maximum number of seats. If limited is false, then this property will not exist.

taken
integer
optional

Number of seats taken. (NOTE: For child care programs, this value is always -1 to indicate that the value is unavailable at this level since child care seat counts are calculated at the instance level once a registration has been started. You should use the registration_summaries.can_register flag to control whether a registration can be started.)

available
integer
optional

If limited is true, then this indicates the number of seats available. If limited is false, then this property does not exist. (NOTE: For child care programs, this value is always -1 to indicate that the value is unavailable at this level since child care seat counts are calculated at the instance level once a registration has been started. You should use the registration_summaries.can_register flag to control whether a registration can be started.)

has_waiting_list
boolean
optional

If limited is true, then this indicates whether a waiting list is available once the maximum number of seats has been reached.

waiting_list_count
integer
optional

If has_waiting_list is true, then this indicates how many members are on the waiting list.

show_waiting_list_count
boolean
optional

If has_waiting_list is true, then this indicates whether the offering should display the waiting list count. This is currently only available for traditional program offerings.

registration_summaries
array<object>
optional

Summary of registration status per registration type. All of these values can be derived from other values in this response, but these are here as a helpful shortcut to control a UI.

type
string
optional

Registration type

Valid values: online, in_house
can_register
boolean
optional

Whether or not registration is allowed for any registration group as of the time the call was made. Useful to enable/disable a button to start a registration for this.

registration_dates_state
string
optional

State of registration dates. If registration is open for any group, will return open.

Valid values: open, closed, future
description
string
optional

Human readable description of state of registration.

groups
array<object>
optional

Program fee groups

id
string
optional

ID of program fee group

rate
object
optional

Fee information

amount
number
optional

Fee amount

frequency
string
optional

Frequency of rate

Valid values: flat, weekly, bi_weekly, semi_monthly, monthly, daily
deposit
number
optional

Deposit amount

apply_deposit_to
string
optional

Rules for applying deposit. Property will not exist if there is no deposit

Valid values: first_instances, last_instances, each_instance
unit
string
optional

Unit that the amount is in.

Valid values: , week, every other week, semi-monthly, month, day
description
string
optional

Display friendly rate

Example: $100.00/week
registration_dates
array<object>
optional

Registration Dates

type
string
optional

Registration type

Valid values: in_house, online
start
string<date-time>
optional

Registration start date (in local time of organization)

Example: Thu Dec 31 2009 18:00:00 GMT-0600 (Central Standard Time)
end
string<date-time>
optional

Registration end date (in local time of organization)

Example: Wed Jan 01 2020 17:59:00 GMT-0600 (Central Standard Time)
days_offered
array<object>
optional

Days of week that are available

id
integer
optional

ISO8061 day of week (1 is Monday, 7 is Sunday)

name
string
optional

Display Friendly day of week

Example: Monday
times
array<object>
optional

Times that are available. The date part will always be 1900-01-01, so you should only care about the time portion.

start
string<date-time>

Start time

Example: Mon Jan 01 1900 09:00:00 GMT-0600 (Central Standard Time)
end
string<date-time>

End time

fees
array<object>
optional

Extra fees (registration fee, late fee)

type
string
optional

Type of fee

Valid values: registration_fee, late_fee
description
string
optional

Display friendly description of fee

Example: Registration Fee
amount
number
optional

Fee amount

Example: 12.5
agreements
array<object>
optional

Agreements that must be accepted during registration

id
string
optional

Agreement ID

name
string
optional

Name of agreement

tax_deductible
boolean
optional

Indicates if the offering is tax deductible

allow_online_payment_scheduling
boolean
optional

If true, the member is allowed to register and schedule the future balance based on the due date. If false, everything is due at time of registration.

sport_type
string
optional

The sport type of the offering (applicable only to 'TMP' type of program).

Example: Boxing
is_uniform_ordering_enabled
boolean
optional

Whether uniform ordering is enabled for the offering (applicable only to 'TMP' type of program).

Example: true
program_sub_type
string
optional

The sub-type of the offering (applicable only to 'CMP' type of program).

Example: resident_camp
Valid values: resident_camp, day_camp
{
  "id": "SES902274",
  "name": "My session",
  "description": "My session description",
  "program": {
    "id": "TMP60715",
    "name": "My program",
    "description": ""
  },
  "restrictions": {
    "genders": [
      {
        "id": "M",
        "name": "Male"
      },
      {
        "id": "F",
        "name": "Female"
      }
    ],
    "dob": {
      "start": "2000-01-01T00:00:00.0000000",
      "end": "2008-05-01T00:00:00.0000000"
    },
    "age": {
      "start": 1,
      "end": 2
    }
  },
  "location": {
    "id": "B1234",
    "name": "My Branch",
    "people": [
      {
        "type": "contact",
        "name": "John Doe",
        "email": "adsf@example.com",
        "phone": "3334445555"
      },
      {
        "type": "instructor",
        "name": "Jane Doe",
        "email": "jane@example.com",
        "phone": "1112223333"
      }
    ],
    "address1": "123 Sesame Street",
    "city": "Seattle",
    "state": "WA",
    "zip": "12345"
  },
  "categories": [
    {
      "id": "TAG988888",
      "name": "My tag #1"
    }
  ],
  "details": [
    {
      "id": "SEG1708473",
      "name": "",
      "description": "",
      "start": "2016-12-05T00:00:00.0000000",
      "end": "2016-12-05T00:00:00.0000000",
      "due": {
        "description": "Due at Registration"
      },
      "registration_summaries": [
        {
          "type": "online",
          "registration_dates_state": "future",
          "can_register": false,
          "description": "Opens in Future"
        },
        {
          "type": "in_house",
          "registration_dates_state": "open",
          "can_register": true,
          "description": "87 of 100 spots left"
        }
      ],
      "availability": {
        "limited": true,
        "full": false,
        "max": 100,
        "taken": 13,
        "available": 87,
        "has_waiting_list": true
      },
      "groups": [
        {
          "id": "FG78",
          "name": "Program Member",
          "rate": {
            "amount": 100,
            "frequency": "flat",
            "deposit": 5,
            "apply_deposit_to": "first_instances",
            "unit": "",
            "description": "$100.00"
          },
          "registration_dates": [
            {
              "type": "in_house",
              "start": "2010-01-01T00:00:00.0000000",
              "end": "2020-01-01T23:59:00.0000000"
            },
            {
              "type": "online",
              "start": "2010-01-01T00:00:00.0000000",
              "end": "2020-01-01T23:59:00.0000000"
            }
          ]
        },
        {
          "id": "FG79",
          "name": "Non-Members",
          "rate": {
            "amount": 100,
            "frequency": "flat",
            "deposit": 5,
            "apply_deposit_to": "each_instance",
            "unit": "",
            "description": "$100.00"
          },
          "registration_dates": [
            {
              "type": "in_house",
              "start": "2010-01-01T00:00:00.0000000",
              "end": "2020-01-01T23:59:00.0000000"
            },
            {
              "type": "online",
              "start": "2010-01-01T00:00:00.0000000",
              "end": "2020-01-01T23:59:00.0000000"
            }
          ]
        }
      ],
      "days_offered": [
        {
          "id": 1,
          "name": "Monday"
        },
        {
          "id": 3,
          "name": "Wednesday"
        },
        {
          "id": 5,
          "name": "Friday"
        }
      ],
      "times": [
        {
          "start": "1900-01-01T15:00:00.0000000",
          "end": "1900-01-01T16:15:00.0000000"
        }
      ]
    },
    {
      "id": "SEG1708483",
      "name": "",
      "description": "",
      "start": "2018-01-01T00:00:00.0000000",
      "end": "2018-01-02T00:00:00.0000000",
      "due": {
        "description": "Due at Registration"
      },
      "availability": {
        "limited": false,
        "full": false,
        "taken": 0
      },
      "groups": [
        {
          "id": "FG78",
          "name": "Program Member",
          "rate": {
            "amount": 50,
            "frequency": "flat",
            "deposit": 5,
            "unit": "",
            "description": "$50.00"
          },
          "registration_dates": [
            {
              "type": "in_house",
              "start": "2010-01-01T00:00:00.0000000",
              "end": "2020-01-01T23:59:00.0000000"
            },
            {
              "type": "online",
              "start": "2010-01-01T00:00:00.0000000",
              "end": "2020-01-01T23:59:00.0000000"
            }
          ]
        },
        {
          "id": "FG79",
          "name": "Non-Members",
          "rate": {
            "amount": 50,
            "frequency": "flat",
            "deposit": 5,
            "unit": "",
            "description": "$50.00"
          },
          "registration_dates": [
            {
              "type": "in_house",
              "start": "2010-01-01T00:00:00.0000000",
              "end": "2020-01-01T23:59:00.0000000"
            },
            {
              "type": "online",
              "start": "2010-01-01T00:00:00.0000000",
              "end": "2020-01-01T23:59:00.0000000"
            }
          ]
        }
      ],
      "days_offered": [
        {
          "id": 1,
          "name": "Monday"
        },
        {
          "id": 3,
          "name": "Wednesday"
        },
        {
          "id": 5,
          "name": "Friday"
        }
      ],
      "times": [
        {
          "start": "1900-01-01T15:00:00.0000000",
          "end": "1900-01-01T16:15:00.0000000"
        }
      ]
    }
  ],
  "fees": [
    {
      "type": "registration_fee",
      "description": "Registration Fee",
      "amount": 5
    }
  ],
  "agreements": [
    {
      "id": "W293",
      "name": "The title of my agreement"
    }
  ],
  "tax_deductible": true,
  "allow_online_payment_scheduling": true,
  "sport_type": "Boxing",
  "is_uniform_ordering_enabled": true,
  "program_sub_type": "resident_camp"
}

List program categories

/v3/programs/categories
Description

This endpoints returns a list of program categories that meet the criteria.

Example:

/programs/categories?as_of={start:2010-01-01T08:00:00,end:2015-01-01T08:00:00,mode:registration_occurs_between}&locations=B123,B567&offering_types=rate_plan,camp_instance&registration_type=online&include_inactive_categories=true&limit=999
Query Parameters
as_of
string
optional

Restricts the list of categories to have the specified start and end datetime in at least one of the registration datetime ranges.

See As of date tutorial.

Default: { start:<datetime for request>, end:<datetime of request>, mode:registration_occurs_between, }
Example: { start:2017-04-19T09:58:32, end:2017-04-23T09:58:32, mode:registration_occurs_between, }
location_ids
array<string>
optional

Restricts the list of categories to be associated with programs at the specified locations. If omitted, no location-based restrictions will be applied.

Example: B27,S34
offering_types
array<string>
optional

Restricts the list of categories to only be associated with certain types of program offerings. If omitted, returns categories associated with all types of program offerings.

Valid values: session, package, rate_plan, camp_instance
registration_type
string
optional

Restricts the list of categories to only be associated with in-house or online program offerings. Default behavior is to return categories for both in-house and online program offerings.

Valid values: in_house, online
include_inactive_categories
boolean
optional

Indicates whether to show inactive categories. Default behavior will omit inactive categories.

Default: false
include_inactive_locations
boolean
optional

Indicates whether to show categories associated with inactive locations. Defaultbehavior will omit categories associated with inactive locations.

Default: false
date_ranges
string
optional

Restricts results that occur within at least one of the date ranges.

Example: [object Object],[object Object]
limit
integer
optional

Number of results to return.

Default: 100
Example: 999
Responses
HTTP 200 OK
categories
array<object>
optional

A list of categories that meet the requested criteria.

name
string
optional

The name of the category

id
string
optional

The ID of the category

offering_count
integer
optional

The number of offerings associated with this category

program_count
integer
optional

The number of programs associated with this category

is_active
boolean
optional

Indicates if the category is active.

show_online
boolean
optional

Indicates if the category is set to be visible online

total
integer
optional

The number of categories returned

limit
integer
optional

The maximum number of items requested. This value is the same value as the limit query parameter on the request.

{
  "categories": [
    {
      "name": "Swim",
      "id": "TAG123",
      "offering_count": 10,
      "program_count": 5
    },
    {
      "name": "Soccer",
      "id": "TAG34",
      "offering_count": 3,
      "program_count": 3
    },
    {
      "name": "After school care",
      "id": "CAT99",
      "offering_count": 20,
      "program_count": 8
    }
  ],
  "total": 3,
  "limit": 100
}

List program locations

/v3/programs/locations
Description

This endpoints returns a list of program locations that meet the criteria.

Example:

/programs/locations?as_of={start:2010-01-01T08:00:00,end:2015-01-01T08:00:00,mode:registration_occurs_between}&locations=B123,B567&offering_types=rate_plan,camp_instance&registration_type=online&include_inactive_locations=true&limit=999
Query Parameters
as_of
string
optional

Restricts the list of locations to have the specified start and end datetime in at least one of the registration datetime ranges.

See As of date tutorial.

Default: {start:<datetime of request>,end:<datetime of request>,mode:registration_occurs_between}
Example: {start:2017-04-19T09:58:32,end:2017-04-23T09:58:32,mode:registration_occurs_between}
category_ids
array<string>
optional

Restricts the list of locations to be associated with programs that offers programs with the specified categories. If omitted, no category-based restrictions will be applied.

Example: TAG27,CAT34
offering_types
array<string>
optional

Restricts the list of locations to only be associated with certain types of program offerings. If omitted, returns locations associated with all types of program offerings.

Valid values: session, package, rate_plan, camp_instance
registration_type
string
optional

Restricts the list of locations to only be associated with in-house or online program offerings. Default behavior is to return locations for both in-house and online program offerings.

Valid values: in_house, online
include_inactive_categories
boolean
optional

Indicates whether to show locations associated with inactive categories. Default behavior will omit locations associated with inactive categories. However, if an offering has an inactive category and at least one active category, its location will be returned.

Default: false
include_inactive_locations
boolean
optional

Indicates whether to show inactive locations. Default behavior will omit inactive locations.

Default: false
date_ranges
string
optional

Restricts results that occur within at least one of the date ranges.

Example: [ { start:2010-01-01, end:2011-01-01 }, { start:2015-01-01, end:2016-01-01 }, ]
limit
integer
optional

Number of results to return.

Default: 100
Example: 999
Responses
HTTP 200 OK
locations
array<object>
optional

A list of locations that meet the requested criteria.

name
string
optional

The name of the location

id
string
optional

The ID of the location

type
string
optional

The type of location

Valid values: branch, site
offering_count
integer
optional

The number of offerings associated with this location

program_count
integer
optional

The number of programs associated with this location

is_active
boolean
optional

Indicates if the location is active.

show_online
boolean
optional

Indicates if the location is set to be visible online

total
integer
optional

The number of locations returned

limit
integer
optional

The maximum number of items requested. This value is the same value as the limit query parameter on the request.

{
  "locations": [
    {
      "name": "Downtown Branch",
      "id": "B392",
      "type": "branch",
      "offering_count": 10,
      "program_count": 5
    },
    {
      "name": "Childcare Site",
      "id": "S9004",
      "type": "site",
      "offering_count": 3,
      "program_count": 3
    }
  ],
  "total": 2,
  "limit": 100
}

Get program offering's roster

/v3/programs/{program_id}/offerings/{offering_id}/roster
Description

This call returns a list of participants associated with a given program offering.

Example:

/v3/programs/TMP63334/offerings/SES922827/roster?page_number=3&page_size=2&registered_after=30-04-2020&location_id=B38
Path Parameters
program_id
string

The ID of the program.

Example: CMP4245232
offering_id
string

The ID of the offering.

Example: RP4223252
Query Parameters
location_id
string

The ID of the location (prefixed by B for branches or S for sites).

Example: B38
registered_after
string <date>
optional

Filters to only include the participants that are registered after the provided date. The format for the date should be dd-mm-yyyy.

Example: 30-04-2020
include_unit_details
boolean
optional

Optionally, whether to include details about the registered participant's unit, including contact information.

Example: true
page_number
number
optional

The page number of the response. If not included in request, its default value will be 1.

Example: 1
Default: 1
page_size
number
optional

The number of units/results fetched per response, defaulting to 25.

Example: 25
Default: 25
Responses
HTTP 200 OK
total
number
optional

The number of results returned on this page of the response.

Example: 1
roster
array<object>
optional

The offering's list of members.

unit_id
string
optional

The unit ID of the member.

Example: 300180604
first_name
string
optional

The member's first name.

Example: Dobby
last_name
string
optional

The member's last name.

Example: Elf
member_id
string
optional

The member's member ID.

Example: 300180604-01
email
string
optional

The email address associated with the member.

Example: dobby@daxko.com
home_phone
string
optional

The home phone number associated with the member.

Example: (999) 123-4567
cellphone
string
optional

The mobile-phone number associated with the member.

Example: (555) 555-5555
birth_date
string<date>
optional

The member's birth date.

Example: 12/13/1933
gender
string
optional

The member's gender.

Example: Female
gender_info
string
optional

The member's addition gender identity

home_address
object
optional

The home address associated with the member.

address1
string
optional

The member's address.

Example: 123 Some Road
address2
string
optional

The member's address details, such as an apartment number.

Example: F8
city
string
optional

The member's city.

Example: Blah
state
string
optional

The member's state.

Example: AL
zip
string
optional

The member's Zip code.

Example: 12345
days
array<object>
optional

The list of days on which the member is enrolled in the offering.

Example: [{"id":1,"name":"Monday"},{"id":3,"name":"Wednesday"},{"id":4,"name":"Thursday"}]
id
number
optional

The ID of the day of week. ID of Monday is 1 and Sunday is 7.

name
string
optional

The name of the day of week.

unit_details
object
optional

Information about the primary member associated with the participant's unit, if requested.

member_id
string
optional

The member's ID

Example: 123123-01
name
object
optional

The member's name

prefix
string
optional

The member's name prefix

Example: Dr.
first_name
string
optional

The member's first name

Example: John
middle_name
string
optional

The member's middle name

Example: Fitzgerald
last_name
string
optional

The member's last name

Example: Doe
suffix
string
optional

The members' name suffix

Example: III
phones
array<object>
optional

A list of member phone numbers

type
string
optional

The type of phone number

Example: home
Valid values: home, mobile, emergency
area_code
string
optional

The area code or prefix of the phone number

Example: 555
number
string
optional

The phone number

Example: 555-5555
extension
string
optional

The extension of the phone number

Example: 321
emails
array<object>
optional

A list of member addresses

type
string
optional

The type of email

Example: default
Valid values: default
email
string
optional

A member's email address

Example: jdoe@example.com
registration_date
string<datetime>
optional

The timestamp at which the member was added to the roster. If the member is registered multiple times, only the latest registration timestamp will be shown.

Example: 2020-04-30T13:05:12.5200000
registration_id
string<number>
optional

The ID of the offering registration. If the member is registered multiple times, only the latest registration ID will be shown.

Example: 345672
segments
array<object>
optional

The list of segments for which the member has registered (only applicable for Standard and Package programs).

Example: [{"id":"SEG1729036"},{"id":"SEG1729039"},{"id":"SEG1729040"}]
id
string
optional

The ID of the segment (prefixed by SEG for segments).

has_more_records
boolean
optional

Whether there are more records on the next page.

Example: true
{
  "total": 1,
  "roster": [
    {
      "unit_id": "300180604",
      "first_name": "Dobby",
      "last_name": "Elf",
      "member_id": "300180604-01",
      "email": "dobby@daxko.com",
      "home_phone": "(999) 123-4567",
      "cellphone": "(555) 555-5555",
      "birth_date": "12/13/1933",
      "gender": "Female",
      "gender_info": "",
      "home_address": {
        "address1": "123 Some Road",
        "address2": "F8",
        "city": "Blah",
        "state": "AL",
        "zip": "12345"
      },
      "days": [
        {
          "id": 1,
          "name": "Monday"
        },
        {
          "id": 3,
          "name": "Wednesday"
        },
        {
          "id": 4,
          "name": "Thursday"
        }
      ],
      "unit_details": {
        "member_id": "123123-01",
        "name": {
          "prefix": "Dr.",
          "first_name": "John",
          "middle_name": "Fitzgerald",
          "last_name": "Doe",
          "suffix": "III"
        },
        "phones": [
          {
            "type": "home",
            "area_code": "555",
            "number": "555-5555",
            "extension": "321"
          }
        ],
        "emails": [
          {
            "type": "default",
            "email": "jdoe@example.com"
          }
        ]
      },
      "registration_date": "2020-04-30T13:05:12.5200000",
      "registration_id": 345672,
      "segments": [
        {
          "id": "SEG1729036"
        },
        {
          "id": "SEG1729039"
        },
        {
          "id": "SEG1729040"
        }
      ]
    }
  ],
  "has_more_records": true
}

Get program offering's roster of only a particular participating member

/v3/programs/{program_id}/offerings/{offering_id}/roster/{member_id}
Description

This call returns a list of different registrations done for a particular member that is enrolled in the program offering. Each registration unit here includes the responses of questions asked, list of week days that were opted by the member for the offering (if applicable) and the list of segments that were selected (applicable only to standard type of program) by the member in this particular registration, when it was done.

Example:

/v3/programs/TMP63334/offerings/SES922827/roster/300180604-01?page_number=1&page_size=3&registered_after=01-04-2020
Path Parameters
program_id
string

The ID of the program.

Example: TMP4245232
offering_id
string

The ID of the offering.

Example: SES4223252
member_id
string

The ID of the member whose roster we need to fetch.

Example: 300180604-01
Query Parameters
registered_after
string <date>
optional

Filters to only include the registration units that are registered after the provided date. The format for the date should be dd-mm-yyyy.

Example: 30-04-2020
include_unit_details
boolean
optional

Optionally, whether to include details about the registered participant's unit, including contact information.

Example: true
page_number
number
optional

The page number of the response. If not included in request, its default value will be 1.

Example: 1
page_size
number
optional

The number of units/results fetched per response, defaulting to 25.

Example: 25
Responses
HTTP 200 OK
total
number
optional

The number of results returned on this page of the response.

Example: 1
roster
array<object>
optional

The offering's list of registration units of the member.

unit_id
string
optional

The unit ID of the member.

Example: 300180604
first_name
string
optional

The member's first name.

Example: Dobby
last_name
string
optional

The member's last name.

Example: Elf
member_id
string
optional

The member's member ID.

Example: 300180604-01
email
string
optional

The email address associated with the member.

Example: dobby@daxko.com
home_phone
string
optional

The home phone number associated with the member.

Example: (999) 123-4567
cellphone
string
optional

The mobile-phone number associated with the member.

Example: (555) 555-5555
birth_date
string<date>
optional

The member's birth date.

Example: 12/13/1933
gender
string
optional

The member's gender.

Example: Female
gender_info
string
optional

The member's addition gender identity

home_address
object
optional

The home address associated with the member.

address1
string
optional

The member's address.

Example: 123 Some Road
address2
string
optional

The member's address details, such as an apartment number.

Example: F8
city
string
optional

The member's city.

Example: Blah
state
string
optional

The member's state.

Example: AL
zip
string
optional

The member's Zip code.

Example: 12345
days
array<object>
optional

The list of days on which the member is enrolled in the offering.

Example: [{"id":1,"name":"Monday"},{"id":3,"name":"Wednesday"},{"id":4,"name":"Thursday"}]
id
number
optional

The ID of the day of week. ID of Monday is 1 and Sunday is 7.

name
string
optional

The name of the day of week.

unit_details
object
optional

Information about the primary member associated with the participant's unit, if requested.

member_id
string
optional

The member's ID

Example: 123123-01
name
object
optional

The member's name

prefix
string
optional

The member's name prefix

Example: Dr.
first_name
string
optional

The member's first name

Example: John
middle_name
string
optional

The member's middle name

Example: Fitzgerald
last_name
string
optional

The member's last name

Example: Doe
suffix
string
optional

The members' name suffix

Example: III
phones
array<object>
optional

A list of member phone numbers

type
string
optional

The type of phone number

Example: home
Valid values: home, mobile, emergency
area_code
string
optional

The area code or prefix of the phone number

Example: 555
number
string
optional

The phone number

Example: 555-5555
extension
string
optional

The extension of the phone number

Example: 321
emails
array<object>
optional

A list of member addresses

type
string
optional

The type of email

Example: default
Valid values: default
email
string
optional

A member's email address

Example: jdoe@example.com
registration_date
string<datetime>
optional

The timestamp at which this registration was done.

Example: 2020-05-08T17:59:40.2100000
registration_id
string<number>
optional

The ID of the offering registration.

Example: 345672
location_id
string
optional

The ID of branch or site of the offering where the member is enrolled (prefixed by B for branches or S for sites).

Example: B38
segments
array<object>
optional

The list of segments that are associated with this registration (only applicable for Standard and Package programs).

Example: [{"id":"SEG1729036","start_date":"2021-01-31T00:00:00.000Z","end_date":"2021-08-31T00:00:00.000Z"},{"id":"SEG1729039","start_date":"2021-09-01T00:00:00.000Z","end_date":"2021-12-31T00:00:00.000Z"}]
id
string
optional

The ID of the segment (prefixed by SEG for segments).

start_date
string<datetime>
optional

The start date of the segment for which the member is registered. This is only applicable for Standard programs.

end_date
string<datetime>
optional

The end date of the segment for which the member is registered. This is only applicable for Standard programs.

questions_answers
array<object>
optional

The questions and answers associated with this registration.

Example: [{"question":"Home Address","answer":{"line1":"123 Some Road","line2":"","city":"Blah","state":"AL","intl_province_region":"AL","ca_province":"AL","zip":"12345","intl_zip":"12345","country":"US"},"question_id":234312,"question_type":"address","cart_question_id":"program_address-216002","answer_display_value":{"line1":"123 Some Road","line2":"","city":"Blah","state":"AL","intl_province_region":"AL","ca_province":"AL","zip":"12345","intl_zip":"12345","country":"US"}},{"question":"Marital Status","answer":"M","question_id":216003,"question_type":"dropdown","cart_question_id":"program_maritalstatus-216003","answer_display_value":"Married"}]
question
string
optional

The question for the registration.

answer
object
optional

The answer provided during the registration.

question_id
number
optional

The ID of the question.

question_type
string
optional

The type of the question.

Valid values: text, name, date, dropdown, radio, checkboxes, phone, address, email, password, textarea, datetime
cart_question_id
string
optional

The ID of the question, as it would appear in the get-custom-questions endpoint response.

answer_display_value
object
optional

The friendly display value of the answer.

registered_dates
array<object>
optional

The list of date ranges for which the member is registered. This is only applicable for ChildCare and Camp programs.

Example: [{"start_date":"2020-01-01T00:00:00.000Z","end_date":"2020-01-01T00:00:00.000Z"},{"start_date":"2020-01-06T00:00:00.000Z","end_date":"2020-01-06T00:00:00.000Z"}]
start_date
string<datetime>
optional

The start date of the range for which the member is registered.

end_date
string<datetime>
optional

The end date of the range for which the member is registered.

has_more_records
boolean
optional

Whether there are more records on the next page.

Example: true
{
  "total": 1,
  "roster": [
    {
      "unit_id": "300180604",
      "first_name": "Dobby",
      "last_name": "Elf",
      "member_id": "300180604-01",
      "email": "dobby@daxko.com",
      "home_phone": "(999) 123-4567",
      "cellphone": "(555) 555-5555",
      "birth_date": "12/13/1933",
      "gender": "Female",
      "gender_info": "",
      "home_address": {
        "address1": "123 Some Road",
        "address2": "F8",
        "city": "Blah",
        "state": "AL",
        "zip": "12345"
      },
      "days": [
        {
          "id": 1,
          "name": "Monday"
        },
        {
          "id": 3,
          "name": "Wednesday"
        },
        {
          "id": 4,
          "name": "Thursday"
        }
      ],
      "unit_details": {
        "member_id": "123123-01",
        "name": {
          "prefix": "Dr.",
          "first_name": "John",
          "middle_name": "Fitzgerald",
          "last_name": "Doe",
          "suffix": "III"
        },
        "phones": [
          {
            "type": "home",
            "area_code": "555",
            "number": "555-5555",
            "extension": "321"
          }
        ],
        "emails": [
          {
            "type": "default",
            "email": "jdoe@example.com"
          }
        ]
      },
      "registration_date": "2020-05-08T17:59:40.2100000",
      "registration_id": 345672,
      "location_id": "B38",
      "segments": [
        {
          "id": "SEG1729036",
          "start_date": "2021-01-31T00:00:00.0000000",
          "end_date": "2021-08-31T00:00:00.0000000"
        },
        {
          "id": "SEG1729039",
          "start_date": "2021-09-01T00:00:00.0000000",
          "end_date": "2021-12-31T00:00:00.0000000"
        }
      ],
      "questions_answers": [
        {
          "question": "Home Address",
          "answer": {
            "line1": "123 Some Road",
            "line2": "",
            "city": "Blah",
            "state": "AL",
            "intl_province_region": "AL",
            "ca_province": "AL",
            "zip": "12345",
            "intl_zip": "12345",
            "country": "US"
          },
          "question_id": 234312,
          "question_type": "address",
          "cart_question_id": "program_address-216002",
          "answer_display_value": {
            "line1": "123 Some Road",
            "line2": "",
            "city": "Blah",
            "state": "AL",
            "intl_province_region": "AL",
            "ca_province": "AL",
            "zip": "12345",
            "intl_zip": "12345",
            "country": "US"
          }
        },
        {
          "question": "Marital Status",
          "answer": "M",
          "question_id": 216003,
          "question_type": "dropdown",
          "cart_question_id": "program_maritalstatus-216003",
          "answer_display_value": "Married"
        }
      ],
      "registered_dates": [
        {
          "instance_id": "CCI1234",
          "start_date": "2020-01-01T00:00:00.0000000",
          "end_date": "2020-01-01T00:00:00.0000000"
        },
        {
          "instance_id": "CCI2345",
          "start_date": "2020-01-06T00:00:00.0000000",
          "end_date": "2020-01-06T00:00:00.0000000"
        }
      ]
    }
  ],
  "has_more_records": true
}

Get program offering's waitlisted roster

/v3/programs/{program_id}/offerings/{offering_id}/waitlist
Description

This call returns a list of waitlisted members associated with a given program offering.

Example:

/v3/programs/TMP63334/offerings/SES922827/waitlist?page_number=1&page_size=5&location_id=B38&registered_after=30-04-2020
Path Parameters
program_id
string

The ID of the program.

Example: CMP4245232
offering_id
string

The ID of the offering.

Example: RP4223252
Query Parameters
location_id
string

The ID of the location (prefixed by B for branches or S for sites).

Example: B38
registered_after
string <date>
optional

Whether to only include waitlisted members who registered after provided date. The format for the date should be dd-mm-yyyy.

Example: 30-04-2020
include_unit_details
boolean
optional

Optionally, whether to include details about the registered participant's unit, including contact information.

Example: true
page_number
number
optional

The page number of the response. If not included in request, its default value will be 1.

Example: 1
page_size
number
optional

The number of units/results fetched per response, defaulting to 25.

Example: 25
Responses
HTTP 200 OK
total
number
optional

The number of results returned on this page of the response.

Example: 1
roster
array<object>
optional

The offering's list of waitlisted members.

unit_id
string
optional

The unit ID of the member.

Example: 300180604
first_name
string
optional

The member's first name.

Example: Dobby
last_name
string
optional

The member's last name.

Example: Elf
member_id
string
optional

The member's member ID.

Example: 300180604-01
email
string
optional

The email address associated with the member.

Example: dobby@daxko.com
home_phone
string
optional

The home phone number associated with the member.

Example: (999) 123-4567
cellphone
string
optional

The mobile-phone number associated with the member.

Example: (555) 555-5555
birth_date
string<date>
optional

The member's birth date.

Example: 12/13/1933
gender
string
optional

The member's gender.

Example: Female
gender_info
string
optional

The member's addition gender identity

home_address
object
optional

The home address associated with the member.

address1
string
optional

The member's address.

Example: 123 Some Road
address2
string
optional

The member's address details, such as an apartment number.

Example: F8
city
string
optional

The member's city.

Example: Blah
state
string
optional

The member's state.

Example: AL
zip
string
optional

The member's Zip code.

Example: 12345
days
array<object>
optional

The list of days on which the member is enrolled in the offering.

Example: [{"id":1,"name":"Monday"},{"id":3,"name":"Wednesday"},{"id":4,"name":"Thursday"}]
id
number
optional

The ID of the day of week. ID of Monday is 1 and Sunday is 7.

name
string
optional

The name of the day of week.

unit_details
object
optional

Information about the primary member associated with the participant's unit, if requested.

member_id
string
optional

The member's ID

Example: 123123-01
name
object
optional

The member's name

prefix
string
optional

The member's name prefix

Example: Dr.
first_name
string
optional

The member's first name

Example: John
middle_name
string
optional

The member's middle name

Example: Fitzgerald
last_name
string
optional

The member's last name

Example: Doe
suffix
string
optional

The members' name suffix

Example: III
phones
array<object>
optional

A list of member phone numbers

type
string
optional

The type of phone number

Example: home
Valid values: home, mobile, emergency
area_code
string
optional

The area code or prefix of the phone number

Example: 555
number
string
optional

The phone number

Example: 555-5555
extension
string
optional

The extension of the phone number

Example: 321
emails
array<object>
optional

A list of member addresses

type
string
optional

The type of email

Example: default
Valid values: default
email
string
optional

A member's email address

Example: jdoe@example.com
registration_date
string<datetime>
optional

The timestamp at which the member was added to the roster. If the member is registered multiple times, only the latest registration timestamp will be shown.

Example: 2020-04-30T13:05:12.5200000
registration_id
string<number>
optional

The ID of the offering registration. If the member is registered multiple times, only the latest registration ID will be shown.

Example: 345672
segments
array<object>
optional

The list of segments for which the member has registered (only applicable for Standard and Package programs).

Example: [{"id":"SEG1729036"},{"id":"SEG1729039"},{"id":"SEG1729040"}]
id
string
optional

The ID of the segment (prefixed by SEG for segments).

has_more_records
boolean
optional

Whether there are more records on the next page.

Example: true
{
  "total": 1,
  "roster": [
    {
      "unit_id": "300180604",
      "first_name": "Dobby",
      "last_name": "Elf",
      "member_id": "300180604-01",
      "email": "dobby@daxko.com",
      "home_phone": "(999) 123-4567",
      "cellphone": "(555) 555-5555",
      "birth_date": "12/13/1933",
      "gender": "Female",
      "gender_info": "",
      "home_address": {
        "address1": "123 Some Road",
        "address2": "F8",
        "city": "Blah",
        "state": "AL",
        "zip": "12345"
      },
      "days": [
        {
          "id": 1,
          "name": "Monday"
        },
        {
          "id": 3,
          "name": "Wednesday"
        },
        {
          "id": 4,
          "name": "Thursday"
        }
      ],
      "unit_details": {
        "member_id": "123123-01",
        "name": {
          "prefix": "Dr.",
          "first_name": "John",
          "middle_name": "Fitzgerald",
          "last_name": "Doe",
          "suffix": "III"
        },
        "phones": [
          {
            "type": "home",
            "area_code": "555",
            "number": "555-5555",
            "extension": "321"
          }
        ],
        "emails": [
          {
            "type": "default",
            "email": "jdoe@example.com"
          }
        ]
      },
      "registration_date": "2020-04-30T13:05:12.5200000",
      "registration_id": 345672,
      "segments": [
        {
          "id": "SEG1729036"
        },
        {
          "id": "SEG1729039"
        },
        {
          "id": "SEG1729040"
        }
      ]
    }
  ],
  "has_more_records": true
}

Get program offering's roster of only a particular waitlisted member

/v3/programs/{program_id}/offerings/{offering_id}/waitlist/{member_id}
Description

This call returns a list of different registrations done for a particular waitlisted member that is enrolled in the program offering. Each registration unit here includes the responses of questions asked, list of week days that were opted by the member for the offering (if applicable) and the list of segments that were selected (applicable only to standard type of program) by the member in this particular registration, when it was done.

Example:

/v3/programs/TMP63334/offerings/SES922827/waitlist/300180263-02?registered_after=24-04-2020&page_number=1&page_size=2
Path Parameters
program_id
string

The ID of the program.

Example: TMP4245232
offering_id
string

The ID of the offering.

Example: SES4223252
member_id
string

The ID of the member whose roster we need to fetch.

Example: 300180604-01
Query Parameters
registered_after
string <date>
optional

Filters to only include the registration units that are registered after the provided date. The format for the date should be dd-mm-yyyy.

Example: 30-04-2020
include_unit_details
boolean
optional

Optionally, whether to include details about the registered participant's unit, including contact information.

Example: true
page_number
number
optional

The page number of the response. If not included in request, its default value will be 1.

Example: 1
page_size
number
optional

The number of units/results fetched per response, defaulting to 25.

Example: 25
Responses
HTTP 200 OK
total
number
optional

The number of results returned on this page of the response.

Example: 1
roster
array<object>
optional

The offering's list of waitlisted registration units of the member.

unit_id
string
optional

The unit ID of the member.

Example: 300180604
first_name
string
optional

The member's first name.

Example: Dobby
last_name
string
optional

The member's last name.

Example: Elf
member_id
string
optional

The member's member ID.

Example: 300180604-01
email
string
optional

The email address associated with the member.

Example: dobby@daxko.com
home_phone
string
optional

The home phone number associated with the member.

Example: (999) 123-4567
cellphone
string
optional

The mobile-phone number associated with the member.

Example: (555) 555-5555
birth_date
string<date>
optional

The member's birth date.

Example: 12/13/1933
gender
string
optional

The member's gender.

Example: Female
gender_info
string
optional

The member's addition gender identity

home_address
object
optional

The home address associated with the member.

address1
string
optional

The member's address.

Example: 123 Some Road
address2
string
optional

The member's address details, such as an apartment number.

Example: F8
city
string
optional

The member's city.

Example: Blah
state
string
optional

The member's state.

Example: AL
zip
string
optional

The member's Zip code.

Example: 12345
days
array<object>
optional

The list of days on which the member is enrolled in the offering.

Example: [{"id":1,"name":"Monday"},{"id":3,"name":"Wednesday"},{"id":4,"name":"Thursday"}]
id
number
optional

The ID of the day of week. ID of Monday is 1 and Sunday is 7.

name
string
optional

The name of the day of week.

unit_details
object
optional

Information about the primary member associated with the participant's unit, if requested.

member_id
string
optional

The member's ID

Example: 123123-01
name
object
optional

The member's name

prefix
string
optional

The member's name prefix

Example: Dr.
first_name
string
optional

The member's first name

Example: John
middle_name
string
optional

The member's middle name

Example: Fitzgerald
last_name
string
optional

The member's last name

Example: Doe
suffix
string
optional

The members' name suffix

Example: III
phones
array<object>
optional

A list of member phone numbers

type
string
optional

The type of phone number

Example: home
Valid values: home, mobile, emergency
area_code
string
optional

The area code or prefix of the phone number

Example: 555
number
string
optional

The phone number

Example: 555-5555
extension
string
optional

The extension of the phone number

Example: 321
emails
array<object>
optional

A list of member addresses

type
string
optional

The type of email

Example: default
Valid values: default
email
string
optional

A member's email address

Example: jdoe@example.com
registration_date
string<datetime>
optional

The timestamp at which this registration was done.

Example: 2020-05-08T17:59:40.2100000
registration_id
string<number>
optional

The ID of the offering registration.

Example: 345672
location_id
string
optional

The ID of branch or site of the offering where the member is enrolled (prefixed by B for branches or S for sites).

Example: B38
segments
array<object>
optional

The list of segments that are associated with this registration (only applicable for Standard and Package programs).

Example: [{"id":"SEG1729036","start_date":"2021-01-31T00:00:00.000Z","end_date":"2021-08-31T00:00:00.000Z"},{"id":"SEG1729039","start_date":"2021-09-01T00:00:00.000Z","end_date":"2021-12-31T00:00:00.000Z"}]
id
string
optional

The ID of the segment (prefixed by SEG for segments).

start_date
string<datetime>
optional

The start date of the segment for which the member is registered. This is only applicable for Standard programs.

end_date
string<datetime>
optional

The end date of the segment for which the member is registered. This is only applicable for Standard programs.

questions_answers
array<object>
optional

The questions and answers associated with this registration.

Example: [{"question":"Home Address","answer":{"line1":"123 Some Road","line2":"","city":"Blah","state":"AL","intl_province_region":"AL","ca_province":"AL","zip":"12345","intl_zip":"12345","country":"US"},"question_id":234312,"question_type":"address","cart_question_id":"program_address-216002","answer_display_value":{"line1":"123 Some Road","line2":"","city":"Blah","state":"AL","intl_province_region":"AL","ca_province":"AL","zip":"12345","intl_zip":"12345","country":"US"}},{"question":"Marital Status","answer":"M","question_id":216003,"question_type":"dropdown","cart_question_id":"program_maritalstatus-216003","answer_display_value":"Married"}]
question
string
optional

The question for the registration.

answer
object
optional

The answer provided during the registration.

question_id
number
optional

The ID of the question.

question_type
string
optional

The type of the question.

Valid values: text, name, date, dropdown, radio, checkboxes, phone, address, email, password, textarea, datetime
cart_question_id
string
optional

The ID of the question, as it would appear in the get-custom-questions endpoint response.

answer_display_value
object
optional

The friendly display value of the answer.

registered_dates
array<object>
optional

The list of date ranges for which the member is registered. This is only applicable for ChildCare and Camp programs.

Example: [{"start_date":"2020-01-01T00:00:00.000Z","end_date":"2020-01-01T00:00:00.000Z"},{"start_date":"2020-01-06T00:00:00.000Z","end_date":"2020-01-06T00:00:00.000Z"}]
start_date
string<datetime>
optional

The start date of the range for which the member is registered.

end_date
string<datetime>
optional

The end date of the range for which the member is registered.

has_more_records
boolean
optional

Whether there are more records on the next page.

Example: true
{
  "total": 1,
  "roster": [
    {
      "unit_id": "300180604",
      "first_name": "Dobby",
      "last_name": "Elf",
      "member_id": "300180604-01",
      "email": "dobby@daxko.com",
      "home_phone": "(999) 123-4567",
      "cellphone": "(555) 555-5555",
      "birth_date": "12/13/1933",
      "gender": "Female",
      "gender_info": "",
      "home_address": {
        "address1": "123 Some Road",
        "address2": "F8",
        "city": "Blah",
        "state": "AL",
        "zip": "12345"
      },
      "days": [
        {
          "id": 1,
          "name": "Monday"
        },
        {
          "id": 3,
          "name": "Wednesday"
        },
        {
          "id": 4,
          "name": "Thursday"
        }
      ],
      "unit_details": {
        "member_id": "123123-01",
        "name": {
          "prefix": "Dr.",
          "first_name": "John",
          "middle_name": "Fitzgerald",
          "last_name": "Doe",
          "suffix": "III"
        },
        "phones": [
          {
            "type": "home",
            "area_code": "555",
            "number": "555-5555",
            "extension": "321"
          }
        ],
        "emails": [
          {
            "type": "default",
            "email": "jdoe@example.com"
          }
        ]
      },
      "registration_date": "2020-05-08T17:59:40.2100000",
      "registration_id": 345672,
      "location_id": "B38",
      "segments": [
        {
          "id": "SEG1729036",
          "start_date": "2021-01-31T00:00:00.0000000",
          "end_date": "2021-08-31T00:00:00.0000000"
        },
        {
          "id": "SEG1729039",
          "start_date": "2021-09-01T00:00:00.0000000",
          "end_date": "2021-12-31T00:00:00.0000000"
        }
      ],
      "questions_answers": [
        {
          "question": "Home Address",
          "answer": {
            "line1": "123 Some Road",
            "line2": "",
            "city": "Blah",
            "state": "AL",
            "intl_province_region": "AL",
            "ca_province": "AL",
            "zip": "12345",
            "intl_zip": "12345",
            "country": "US"
          },
          "question_id": 234312,
          "question_type": "address",
          "cart_question_id": "program_address-216002",
          "answer_display_value": {
            "line1": "123 Some Road",
            "line2": "",
            "city": "Blah",
            "state": "AL",
            "intl_province_region": "AL",
            "ca_province": "AL",
            "zip": "12345",
            "intl_zip": "12345",
            "country": "US"
          }
        },
        {
          "question": "Marital Status",
          "answer": "M",
          "question_id": 216003,
          "question_type": "dropdown",
          "cart_question_id": "program_maritalstatus-216003",
          "answer_display_value": "Married"
        }
      ],
      "registered_dates": [
        {
          "instance_id": "CCI1234",
          "start_date": "2020-01-01T00:00:00.0000000",
          "end_date": "2020-01-01T00:00:00.0000000"
        },
        {
          "instance_id": "CCI2345",
          "start_date": "2020-01-06T00:00:00.0000000",
          "end_date": "2020-01-06T00:00:00.0000000"
        }
      ]
    }
  ],
  "has_more_records": true
}

Get Program Attendance

/v3/programs/{program_id}/attendance
Description

This call returns the attendance of members registered in a program within a given date range.

Example:

/v3/programs/CMP4245231/attendance?location_id=B38&start_date=16-03-2020&end_date=22-03-2020
Path Parameters
program_id
string

The ID of the program.

Example: CMP4245231
Query Parameters
location_id
string

The ID of the location (prefixed by B for branches or S for sites).

Example: B38
start_date
string
optional

The start date for the date range.

Example: 31-01-2020
end_date
string
optional

The end date for the date range.

Example: 31-12-2020
Responses
HTTP 200 OK
total
number
optional

The number of members returned

Example: 1
members
array<object>
optional

The members who attended during the specified date range.

unit_id
integer
optional

The member's Unit ID.

Example: 300179833
member_id
string
optional

The member's Member ID.

Example: 300179833-01
attendance
array<object>
optional

The dates the participant attended.

date
string<date>
optional

Date

Example: 31-01-2020
time_in
string
optional

The time the participant checked in.

Example: 05:00:00
time_out
string
optional

The time the participant checked out.

Example: 09:00:00
{
  "total": 2,
  "members": [
    {
      "unit_id": "300180543",
      "member_id": "300180543-01",
      "attendance": [
        {
          "date": "2020-03-16",
          "time_in": "04:58:00",
          "time_out": "21:00:00"
        },
        {
          "date": "2020-03-17",
          "time_in": "05:00:00",
          "time_out": "21:00:00"
        },
        {
          "date": "2020-03-18",
          "time_in": "05:00:00",
          "time_out": "21:00:00"
        },
        {
          "date": "2020-03-19",
          "time_in": "05:00:00",
          "time_out": "17:00:00"
        },
        {
          "date": "2020-03-20",
          "time_in": "05:00:00",
          "time_out": "17:00:00"
        }
      ]
    },
    {
      "unit_id": 300180543,
      "member_id": "300180543-03",
      "attendance": [
        {
          "date": "2020-03-16",
          "time_in": "04:53:00",
          "time_out": "04:54:00"
        },
        {
          "date": "2020-03-17",
          "time_in": "10:00:00",
          "time_out": "17:00:00"
        },
        {
          "date": "2020-03-18",
          "time_in": "10:00:00",
          "time_out": "17:00:00"
        },
        {
          "date": "2020-03-19",
          "time_in": "10:00:00",
          "time_out": "17:00:00"
        },
        {
          "date": "2020-03-20",
          "time_in": "10:00:00",
          "time_out": "17:00:00"
        }
      ]
    }
  ]
}

Check in member to program

/v3/programs/{program_id}/checkin
Description

This call checks in a member at the given date and time to a childcare or camp program.

Example request body:

{
  "member_id" : "90000059443-01",
  "location_id" : "B38",
  "date" : "2020-04-13",
  "time" : "15:48"
}
Path Parameters
program_id
string

The ID of the program.

Example: CMP4245232
Request Body
location_id
string
optional

The ID of the location (prefixed by B for branches or S for sites).

Example: B38
member_id
string
optional

The member ID of the registrant to be checked in.

Example: 90000059443-01
date
string<date>
optional

The check-in date.

Example: 2020-04-13
time
string
optional

The check-in time.

Example: 15:48
Responses
HTTP 201 Created
HTTP 400 Bad Request
HTTP 500 Internal Server Error

Check out member from program

/v3/programs/{program_id}/checkout
Description

This call checks out a member at the given date and time from a childcare or camp program.

Example request body:

{
  "member_id" : "90000059443-01",
  "location_id" : "B38",
  "date" : "2020-04-13",
  "time" : "15:48"
}
Path Parameters
program_id
string

The ID of the program.

Example: CMP4245232
Request Body
location_id
string
optional

The ID of the location (prefixed by B for branches or S for sites).

Example: B38
member_id
string
optional

The member ID of the registrant to be checked out.

Example: 90000059443-01
date
string<date>
optional

The check-out date.

Example: 2020-04-13
time
string
optional

The check-out time.

Example: 15:48
Responses
HTTP 201 Created
HTTP 400 Bad Request
HTTP 500 Internal Server Error

Get Program Offering Eligibility

/v3/programs/{program_id}/offerings/{offering_id}/eligibility
Description

Determines whether a member is eligible to register for a program offering without the need to try to create a registration. This allows eligibility to be confirmed without decrementing availability, by checking the registration dates as well as the member's membership type, status, gender and age (or date of birth) against the offering setup. Please note that this resource does not confirm availability and that it is only valid for standard and package programs.

Path Parameters
program_id
string

The ID of the program.

Example: TMP4245232
offering_id
string

The ID of the offering.

Example: SES4223252
Query Parameters
member_id
string

The ID of the member.

Example: 300180604-01
Responses
HTTP 200 OK
can_register
boolean
optional

Whether the member can register for the offering/program.

Example: false
restrictions
array<object>
optional

The list of reasons why member cannot register. If the can_register property is true, this list will be empty.

key
string
optional

The reason for the restriction.

Example: GENDER_RESTRICTED
Valid values: AGE_RESTRICTED, BIRTHDATE_RESTRICTED, GENDER_RESTRICTED, REGISTRATION_DATE_RESTRICTED, FEE_GROUP_RESTRICTED
default_text
string
optional

Details about the reason.

Example: Registration is not allowed for male members

Get Program Eligibility

/v3/programs/{program_id}/eligibility
Description

Determines whether a member is eligible to register for a program offering without the need to try to create a registration. This allows eligibility to be confirmed without decrementing availability, by checking the registration dates as well as the member's membership type, status, gender and age (or date of birth) against the offering setup. Please note that this resource does not confirm availability and that it is only valid for childcare and camp programs.

Path Parameters
program_id
string

The ID of the program.

Example: CMP4245232
Query Parameters
member_id
string

The ID of the member.

Example: 300180604-01
Responses
HTTP 200 OK
can_register
boolean
optional

Whether the member can register for the offering/program.

Example: false
restrictions
array<object>
optional

The list of reasons why member cannot register. If the can_register property is true, this list will be empty.

key
string
optional

The reason for the restriction.

Example: GENDER_RESTRICTED
Valid values: AGE_RESTRICTED, BIRTHDATE_RESTRICTED, GENDER_RESTRICTED, REGISTRATION_DATE_RESTRICTED, FEE_GROUP_RESTRICTED
default_text
string
optional

Details about the reason.

Example: Registration is not allowed for male members

Prospects

The Prospects API allows the management of an organization's prospects.

Prospect Search

/v3/prospects/search
Description

This endpoint allows for searching of an association's prospects. Please be aware that there may be a delay of up to 5 minutes between when changes take place in Daxko Operations and the time they are reflected in this endpoint.

Query Parameters
name
string
optional

The prospect's name.

Example: Finch, Atticus or Finch
phone
string
optional

The prospect's phone number.

Example: (555) 555-5555
email
string
optional

The prospect's email address.

Example: atticus.finch@example.com
updated_after
string <datetime>
optional

Whether to filter results to those that have been modified after the provided UTC timestamp

Example: 2020-07-26T19:35:26Z
page_number
number
optional

The page over which to iterate records.

Default: 1
Example: 1
page_size
number
optional

The number of items to return.

Default: 100
Example: 100
Responses
HTTP 200 OK
prospects
array<object>
optional

The list of prospects.

id
string
optional

The ID of the prospect

Example: PS123
first_name
string
optional

The first name of the prospect

Example: Atticus
last_name
string
optional

The last name of the prospect

Example: Finch
email
string
optional

The email address of the prospect

Example: atticus.finch@example.com
phone
string
optional

The phone number of the prospect

Example: (555) 555-5555
address1
string
optional

The first line of the prospect's address

Example: 123 Main Street
address2
string
optional

The second line of the prospect's address

Example: Suite 321
city
string
optional

The prospect's city

Example: Maycomb
state
string
optional

The prospect's state

Example: AL
zipcode
string
optional

The prospect's zipcode

Example: 35209
country
string
optional

The prospect's country

Example: USA
birth_date
string
optional

The birth date of the prospect

Example: 1920-01-01T00:00:00Z
gender
string
optional

The gender of the prospect

Example: Male
source_branch
object
optional

The branch the prospect was first entered into

id
string
optional

The ID of the source branch of the prospect

Example: B27
name
string
optional

The name of the source branch of the prospect

Example: Downtown Branch
updated_date
string
optional

The date the prospect record was last updated

Example: 2020-06-21T17:28:46Z
has_more_records
boolean
optional

Whether there are more results available.

Example: false
total
number
optional

The total number of records returned.

Example: 1

Add prospect

/v3/prospects
Description

Add a new prospect. Please note that this operation will first verify whether an individual with a matching name and contact information was already in the system. If that is the case, no insert will be performed and the existing record ID will be returned.

Request Body
source_id
string

The ID of the prospect's source.

Example: PS1
branch_id
string

The ID of the source branch of the prospect.

Example: B38
first_name
string

The first name of the prospect.

Example: Steve
last_name
string

The last name of the prospect.

Example: Rogers
email
string

The email address of the prospect

Example: steve.rogers@example.com
phone
string

The phone number of the prospect

Example: (555) 555-5555
tour_guide_id
string
optional

The ID of the prospect's tour guide. Required if source_id = "PS1"

Example: TG3
event_id
string
optional

The ID of the prospect event. This property is required if the source_id property is PS2.

Example: PE2
address1
string
optional

The first line of the prospect's address.

Example: 123 Main Street
address2
string
optional

The second line of the prospect's address.

Example: Suite 321
city
string
optional

The prospect's city.

Example: Maycomb
state
string
optional

The prospect's state.

Example: AL
zipcode
string
optional

The prospect's Zip code.

Example: 35209
country
string
optional

The prospect's country.

Example: USA
birth_date
string
optional

The birth date of the prospect.

Example: 1920-01-01
gender
string
optional

The gender of the prospect.

Example: M
Valid values: M, F, U
gender_info
string
optional

The member's addition gender identity

interested_branch_id
string
optional

The ID of the branch that the prospect is interested in.

Example: B33
interested_membership_type_id
string
optional

The ID of the membership type that the prospect is interested in.

Example: MT41
note
string
optional

Optionally, any notes to be included with the prospect's profile.

Example: A test note
Responses
HTTP 201 Created
prospect_id
string
optional

The ID of the prospect.

Example: P123
already_exists
boolean
optional

If this property is returned as true, it signifies that an individual with a matching name and contact information was already in the system and was thus not inserted. Otherwise, this will be false.

Example: true

Get prospects details

/v3/prospects/{prospect_id}
Description

Retrieves detailed information about a specific prospect.

Path Parameters
prospect_id
string

The ID of the prospect

Responses
HTTP 200 OK
id
string
optional

The ID of the prospect

Example: 123
first_name
string
optional

The first name of the prospect

Example: Atticus
last_name
string
optional

The last name of the prospect

Example: Finch
email
string
optional

The email address of the prospect

Example: atticus.finch@example.com
phone
string
optional

The phone number of the prospect

Example: (555) 555-5555
address1
string
optional

The first line of the prospect's address

Example: 123 Main Street
address2
string
optional

The second line of the prospect's address

Example: Suite 321
city
string
optional

The prospect's city

Example: Maycomb
state
string
optional

The prospect's state

Example: AL
zipcode
string
optional

The prospect's zipcode

Example: 35209
country
string
optional

The prospect's country

Example: USA
birth_date
string
optional

The birth date of the prospect

Example: 1920-01-01T00:00:00Z
date_created
string
optional

The date the prospect record was created

Example: 2020-06-20T17:28:46Z
date_updated
string
optional

The date the prospect record was last updated

Example: 2020-06-21T17:28:46Z
source_date
string
optional

The date when the prospect was sourced

Example: 2020-06-19T17:28:46Z
source
object
optional

The referral source for the prospect

id
string
optional

The ID of the prospect's source

Example: 1
name
string
optional

The name of the prospect's source

Example: Scout
gender
string
optional

The gender of the prospect

Example: Male
gender_info
string
optional

The member's addition gender identity

tour_date
string
optional

The date when the prospect toured a branch

Example: 2020-06-22T17:28:46Z
tour_guide
object
optional

The tour guide associated to the prospect

id
string
optional

The ID of the prospect's tour guide

Example: 3
name
string
optional

The name of the prospect's tour guide

Example: Boo Radley
source_branch
object
optional

The branch the prospect was first entered into

id
string
optional

The ID of the source branch of the prospect

Example: 3
name
string
optional

The name of the source branch of the prospect

Example: Downtown Branch
interested_branch
object
optional

The branch the prospect is interested in joining

id
string
optional

The ID of the branch that the prospect is interested in

Example: 3
name
string
optional

The name of the branch that the prospect is interested in

Example: Downtown Branch
interested_membership_type
object
optional

The type of membership the prospect is interested in

id
string
optional

The ID of the membership type that the prospect is interested in

Example: 41
name
string
optional

The name of the membership type that the prospect is interested in

Example: Active Attorneys
referring_member_id
string
optional

The ID of the member who referred the prospect

Example: 532423-01
prospect_event
object
optional

Details about the event associated with the prospect

id
string
optional

The ID of the prospect event

Example: 2
name
string
optional

The name of the prospect event

Example: Lead
staff
object
optional

The staff member associated with the prospect

id
string
optional

The ID of the staff member associated with the prospect

Example: 4
name
string
optional

The name of the staff member associated with the prospect

Example: Boo Radley
tour_status
object
optional

The status of the scheduled tour

id
string
optional

The ID of the tour status for the prospect

Example: 1
name
string
optional

The name of the tour status for the prospect

Example: Pending
opportunity_status
object
optional

The status of the opportunity

id
string
optional

The ID of the prospect's opportunity status

Example: 1
name
string
optional

The ID of the prospect's opportunity status

Example: Open
objection_reason
object
optional

Optionally, the reason why the prospect did not join

id
string
optional

The ID of the prospect's objection reason

Example: 4
name
string
optional

The name of the prospect's objection reason

Example: The fight for equal justice does not leave enough free time for the prospect

Update prospect

/v3/prospects/{prospect_id}
Description

Updates prospect information. Optional fields that are not supplied will be nullify.

Path Parameters
prospect_id
string

The ID of the prospect

Example: P1435
Request Body
first_name
string

The first name of the prospect.

Example: Steve
last_name
string

The last name of the prospect.

Example: Rogers
email
string

The email address of the prospect.

Example: steve.rogers@example.com
phone
string

The phone number of the prospect.

Example: (555) 555-5555
birth_date
string
optional

The birth date of the prospect.

Example: 1920-01-01
gender
string
optional

The gender of the prospect.

Example: M
Valid values: M, F, U
gender_info
string
optional

The member's addition gender identity.

address1
string
optional

The first line of the prospect's address.

Example: 123 Main Street
address2
string
optional

The second line of the prospect's address.

Example: Suite 321
city
string
optional

The prospect's city.

Example: Maycomb
state
string
optional

The prospect's state.

Example: AL
zipcode
string
optional

The prospect's Zip code.

Example: 35209
country
string
optional

The prospect's country.

Example: USA
interested_branch
object
optional

The branch the prospect is interested in joining

id
string
optional

The ID of the branch that the prospect is interested in

Example: B33
interested_membership_type
object
optional

The type of membership the prospect is interested in

id
string
optional

The ID of the membership type that the prospect is interested in

Example: MT41
tour_status
object

The status of the tour

id
string
optional

The ID of the tour status for the prospect

Example: TS1
tour_guide_id
object
optional

The tour guide associated to the prospect

id
string
optional

The ID of the prospect's tour guide. Required if tour_status_id is "TS2" or "TS5"

Example: TG13151
tour_date
string
optional

The tour date. Required if tour_status_id is "TS2" or "TS5"

Example: 2022-01-01
Responses
HTTP 204 No Content

Delete Prospect

/v3/prospects/{prospect_id}
Description

Deletes a prospect by ID.

Path Parameters
prospect_id
string

The ID of the prospect (prefixed by P).

Example: P2321
Responses
HTTP 204 No Content

Get prospect notes

/v3/prospects/{prospect_id}/notes
Description

Retrieves the notes for the given prospect.

Path Parameters
prospect_id
string

The ID of the prospect.

Example: 300180263
Responses
HTTP 200 OK
notes
array<object>
optional

The list of notes for the prospect.

note_id
string
optional

The ID of the note.

Example: 2086610
note
string
optional

The text content of the note.

Example: This is a new note
date_created
string<date>
optional

The date the note was created.

Example: 2020-10-06
date_updated
string<date>
optional

The date the note was last updated.

Example: 2020-10-06
created_by
string
optional

The name of the user who created the note.

Example: Steven Williams
updated_by
string
optional

The name of the user who last updated the note.

Example: Steven W

Create or update a note for a prospect

/v3/prospects/{prospect_id}/notes/{prospect_note_id}
Description

Creates a new or updates an existing note for a prospect.

Path Parameters
prospect_id
string

The ID of the prospect.

Example: 23346654
prospect_note_id
string

The ID of the an existing note to update. A new note is created if prospect_note_id is not provided.

Example: 23
Request Body
note
string

The content of the note.

Example: I have updated the note.
user_name
string

The the name of the user creating or updating the note.'

Example: Steven W
Responses
HTTP 200 OK
success
boolean
optional

Indicates whether the create or update was successful.

Example: true
prospect_note_id
string
optional

The ID of the note that was created or updated.

Example: 1213

List tour statuses

/v3/prospects/tour_statuses
Description

This endpoint returns a list of tour statuses.

Responses
HTTP 200 OK
tour_statuses
array<object>
optional

The list of tour statuses

id
string

ID of the tour status

Example: TS1
name
string

Display name of the tour status.

Example: Has not toured

List tour guides

/v3/prospects/tour_guides
Description

This endpoint returns a list of tour guides.

Responses
HTTP 200 OK
tour_guides
array<object>
optional

The list of tour guides

id
string

ID of the tour guide.

Example: TG1
first_name
string

First name of the tour guide.

Example: John
last_name
string

Last name of the tour guide.

Example: Doe

List Events

/v3/prospects/events
Description

This endpoint returns a list of events.

Responses
HTTP 200 OK
events
array<object>
optional

The list of events

id
string

ID of the event.

Example: PS1
name
string

Display name of the event.

Example: Fall Festival
archived
string

Archived status of the event.

Example: False

List sources

/v3/prospects/prospect_sources
Description

This endpoint returns a list of sources.

Responses
HTTP 200 OK
prospect_sources
array<object>
optional

The list of sources

source_id
string

ID of the source

Example: PS1
source_name
string

Display name of the source.

Example: Tour

Scheduling

The Scheduling API allows developers to manage the services, appointments and other scheduling features for Daxko Operations. Please note this is an additional module for Daxko Operations customers and not all clients may have it.

List Branches for Scheduling a Visit

/v3/scheduling/visit/branches
Description

Retrieves a list of available branches that have been setup for scheduling a visit.

Query Parameters
registration_type
string
optional

The registration type for which the available branches should be fetched.

Example: in_house
Default: online
Valid values: in_house, online
address
string
optional

If provided, this will filter the branches by their address.

Example: California
Responses
HTTP 200 OK
total
number<int32>
optional

The total number of branches.

Example: 1
branches
array<object>
optional

The list of branches.

id
string
optional

The ID of the branch.

Example: B42
name
string
optional

The name of the branch.

Example: Downtown Branch
address1
string
optional

The branch's address.

Example: 123 Main Street
address2
string
optional

The branch's secondary address, if available.

Example: Suite 600
city
string
optional

The branch's city.

Example: Birmingham
state
string
optional

The branch's state.

Example: AL
zip_code
string
optional

The branch's postal code.

Example: 35209
country
string
optional

The branch's country

Example: USA
show_online
bool
optional

Whether the branch is configured to show to members online.

Example: true
branch_code
string
optional

A unique identifier for branch created by the client.

Example: MW1
phone
string
optional

The phone number of the branch.

Example: (205) 658-8956
branch_hours
object
optional

The branch's configured branch hours

branch_hours_configured
bool

Whether the branch hours are configured.

branch_availability_status
object

Whether the branch is open or closed and when that status will change.

schedule
array
optional

List of Open and Close times per day of the week for the branch.

exceptions
array
optional

List of Branch Hours exceptions and their availability

Get Branch and Area Reservation Settings

/v3/scheduling/visit/branches/{branch_id}/areas
Description

Retrieves the reservation settings of a branch and areas (only that are available for reservation) within it.

Path Parameters
branch_id
string

The ID of the branch.

Example: B42
Responses
HTTP 200 OK
name
string
optional

The name of the branch.

Example: Downtown Branch
show_in_house
boolean
optional

Whether visits to the branch can be scheduled in-house.

Example: true
show_online
boolean
optional

Whether visits to the branch can be scheduled online.

Example: false
max_reservations_per_member
number
optional

The maximum number of reservations a member can have for this branch.

Example: 5
default_min_duration
number
optional

The default minimum duration, in minutes, of a visit.

Example: 30
default_max_duration
number
optional

The default maximum duration, in minutes, of a visit.

Example: 60
early_check_in
number
optional

The earliest, in minutes, a person can arrive before the scheduled time.

Example: 15
hold_reservation_up_to
number
optional

The time, in minutes, after the scheduled time when the check-in stops and the reservation is forfeited.

Example: 20
reservation_areas
array<object>
optional

The list of reservation areas with settings available in the branch.

id
string
optional

The ID of the area.

Example: A14
name
string
optional

The name of the area.

Example: Area_1
is_childwatch
boolean
optional

Whether the area provides child-watch.

Example: true
age_restriction
boolean
optional

Whether the area has an age restriction.

Example: true
age_from
number
optional

The youngest a member can be to be allowed in the area.

Example: 8
age_to
number
optional

The oldest a member can be to be allowed in the area.

Example: 14
enforce_capacity
boolean
optional

Whether the capacity-tracking feature is enabled for the area.

Example: false
capacity
number
optional

The maximum capacity of the area.

Example: 70
min_duration
number
optional

The minimum duration, in minutes, of a visit.

Example: 30
max_duration
number
optional

The maximum duration, in minutes, of a visit.

Example: 60
visit_time
string
optional

Whether a reservation can only be made at the top of the hour or at any time.

Example: top_of_hour
Valid values: top_of_hour, any
reservation_note
string
optional

Any notes associated with the reservation.

Example: Please arrive on time!
require_active_status_for_child
boolean
optional

Whether only children with an active membership should be allowed, if the area is a child-watch area.

Example: false
auto_check_out_after
number
optional

The number of minutes after which a member would be automatically checked out (applicable only when the area is not a child-watch area).

Example: 10

Get Time Slot Availability for Scheduling Visit

/v3/scheduling/visit/branches/{branch_id}/time_slots
Description

Retrieves the details of areas with time slot availability for scheduling a visit.

Path Parameters
branch_id
string

The ID of the branch.

Example: B12
Query Parameters
area_ids
array<string>

The area IDs for which the availability should be fetched.

Example: A1,A2
date
string <date>

The date for which the availablility needs to be fetched.

Example: 2021-03-31
start_time
string <time>

The start time from when the availablility needs to be fetched in 24 hr ISO format (hh:mm).

Example: 10:00
end_time
string <time>
optional

The end time up to when the availablility needs to be fetched in 24 hr ISO format (hh:mm). If not provided, it will default to the end of the day.

Example: 15:00
Responses
HTTP 200 OK
areas
array<object>
optional

The list of areas with time slots and availability.

id
string
optional

The ID of the area.

Example: A1
name
string
optional

The name of the area.

Example: ABC Area
capacity
number
optional

The maximum capacity of the area.

Example: 10
enforce_capacity
boolean
optional

Whether the capacity-tracking feature is enabled for the area.

Example: true
min_duration
string
optional

The minimum duration in minutes for which the slot can be booked in the area.

Example: 60
max_duration
string
optional

The maximum duration in minutes for which the slot can be booked in the area.

Example: 90
visit_time
string
optional

Whether the booking is allowed anytime or only at the top of the hour.

Example: any
Valid values: top_of_hour, any
time_slots
array<object>
optional

A list of available time slots.

slot_header
string<time>
optional

The slot header of the time slot in 24 hr ISO format (hh:mm).

Example: 10:00
start_time
string<time>
optional

The start time of the time slot in 24 hr ISO format (hh:mm).

Example: 10:00
end_time
string<time>
optional

The end time of the time slot in 24 hr ISO format (hh:mm).

Example: 10:30
spots_taken
number
optional

The number of spots taken.

Example: 2
is_slot_full
boolean
optional

Whether the slot is full.

Example: false
is_slot_open
boolean
optional

Whether the slot is open.

Example: false
open_start
string<time>
optional

The time when the slot will open if it is not open in 24 hr ISO format (hh:mm).

Example: 10:00
is_in_past
boolean
optional

Whether the slot closed because it is in the past or doesn't allow booking at this time.

Example: false

Get Eligibility of Members against Areas

/v3/scheduling/visit/branches/{branch_id}/eligibility
Description

Determines whether members in a unit are eligible to schedule a visit in an area of a branch. This allows eligibility to be confirmed without decrementing availability, by checking the member's status and age against the reservation setup of the area. Please note that this resource does not confirm slot availability.

Path Parameters
branch_id
string

The ID of the branch.

Example: B12
Query Parameters
unit_id
string

The ID of the unit.

Example: 90000059546
Responses
HTTP 200 OK
members
array<object>
optional

The list of members in the unit, with details of their area eligibility.

member_id
string
optional

The ID of the member.

Example: 90000059546-01
member_name
string
optional

The name of the member.

Example: Ben Adams
active
boolean
optional

Whether the member is active.

Example: true
areas
array<object>
optional

The list of reservation areas in the branch.

id
string
optional

The ID of the area.

Example: A53
name
string
optional

The name of the area.

Example: Scheduling Area 1
eligible
boolean
optional

Whether the member is eligible to make a reservation in this area.

Example: false
reasons
array<string>
optional

The list of reasons why the member is not eligible for the current area. This will be empty if the member is eligible.

Example: ["AGE_RESTRICTED","MEMBER_STATUS_RESTRICTED"]
Valid values: AGE_RESTRICTED, MEMBER_STATUS_RESTRICTED

Book Area Appointments

/v3/scheduling/visit/appointments
Description

Book a number of appointments for members of a unit.

Request Body
unit_id
string
optional

The ID of the unit.

Example: 90000059443
branch_id
string
optional

The ID of the branch.

Example: B32
date
string<date>
optional

The date for the appointment.

Example: 2021-03-08
send_email
boolean
optional

Whether to send an email after booking the appointment.

Default: true
Example: true
override
boolean
optional

If set to true, allow more than one booking per member in a branch on same day.

Default: false
Example: false
appointments
array<object>
optional

The list of appointments to be booked.

member_id
string
optional

The ID of the member.

Example: 90000059443-01
area_id
string
optional

The ID of the area.

Example: A6
start_time
string
optional

The start time of the slot to be booked, in hh:mm format.

Example: 10:00
Responses
HTTP 201 Created
total
number
optional

The total number of appointments booked.

Example: 1
appointments
array<object>
optional

The list of appointments booked.

appointment_id
number
optional

The ID of the appointment.

Example: 44
member_id
string
optional

The ID of the member.

Example: 90000059443-01
member_name
string
optional

The name of the member.

Example: Ben Adams
title
string
optional

The description of the appointment.

Example: South Ham Area Schedule Visit 3
start_date_time
string<datetime>
optional

When the appointment starts.

Example: 2021-03-08T10:00:00
end_date_time
string<datetime>
optional

When the appointment ends.

Example: 2021-03-08T10:30:00

Units

The Units API retrieves member unit data.

Get Unit Details

/v3/units/{unit_id}
Description

Gets info and members for a unit

Path Parameters
unit_id
string

The ID of the unit

Query Parameters
include_inactive
boolean
optional

If true, the members list will include members who are inactive. By default inactive members are filtered.

Default: false
Responses
HTTP 200 OK
home_location
object
optional

The unit's home location

id
string

The location identifier.

type
string

The location type.

Valid values: branch
name
string

The name of the location.

members
array<object>
optional

A list of members associated with the unit

active
boolean
optional

Indicates if the member has an active membership

gender
object
optional

The member's gender

id
string

Standard format for gender type

Valid values: M, F
name
string

User-friendly name of gender

Valid values: Male, Female
gender_info
string
optional

The member's addition gender identity

is_primary_member
boolean
optional

Indicates if this member is the unit's primary member

member_id
string
optional

The member's ID

member_type
string
optional

The member's membership type

name
object
optional

The member's name

prefix
string

The member's name prefix

first_name
string

The member's first name

middle_name
string

The member's middle name

last_name
string

The member's last name

suffix
string

The members' name suffix

preferred_name
string

The member's preferred name

photos
array<object>
optional

A list of member photos

url
string

The URL of the member photo

type
string

The type of member photo

Valid values: thumbnail, regular
emails
array<object>
optional

The member's email addresses.

type
string

The type of email.

Valid values: default
email
string

The member's email address.

barcode
string
optional

The member's barcode to check-in

has_member_photo
boolean
optional

Indicates if the member has a photo

name
string
optional

The name of the unit

number_of_members
number
optional

The number of members associated with this unit.

status
string
optional

The unit status

Valid values: Pending, Active, Inactive, Holding, Organization
type
string
optional

The unit type

{
  "home_location": {
    "id": "B123",
    "type": "branch",
    "name": "Downtown YMCA"
  },
  "members": [
    {
      "active": true,
      "gender": {
        "id": "M",
        "name": "Male"
      },
      "gender_info": null,
      "is_primary_member": true,
      "links": [
        {
          "rel": "details",
          "href": "/members/300180819-01"
        }
      ],
      "member_id": "300180819-01",
      "member_type": "Adult",
      "name": {
        "prefix": "Mr.",
        "first_name": "John",
        "middle_name": "H.",
        "last_name": "Doe",
        "suffix": "Jr.",
        "preferred_name": "Johnny"
      },
      "photos": [
        {
          "url": "https://s3-us-west-1.amazonaws.com/member-photo/2014/6879447-PczzrQ8Bo-vmy52-regular.jpg",
          "type": "regular"
        },
        {
          "url": "https://s3-us-west-1.amazonaws.com/member-photo/2014/6879447-PczzrQ8Bo-vmy52-thumbnail.jpg",
          "type": "thumbnail"
        }
      ],
      "type": "Adult",
      "emails": [
        {
          "type": "default",
          "email": "testemail@example.com"
        }
      ],
      "barcode": 30018061002,
      "has_member_photo": false
    },
    {
      "active": true,
      "gender": {
        "id": "F",
        "name": "Female"
      },
      "gender_info": null,
      "is_primary_member": false,
      "links": [
        {
          "rel": "details",
          "href": "/members/300180819-02"
        }
      ],
      "member_id": "300180819-02",
      "member_type": "Child",
      "name": {
        "prefix": null,
        "first_name": "Samantha",
        "middle_name": null,
        "last_name": "Doe",
        "suffix": null
      },
      "photos": [
        {
          "url": "https://s3-us-west-1.amazonaws.com/member-photo/2014/6879448-LvOf3RJ-fTY8q7k-regular.jpg",
          "type": "regular"
        },
        {
          "url": "https://s3-us-west-1.amazonaws.com/member-photo/2014/6879448-LvOf3RJ-fTY8q7k-thumbnail.jpg",
          "type": "thumbnail"
        }
      ],
      "emails": [
        {
          "type": "default",
          "email": "testemail2@example.com"
        }
      ],
      "barcode": 30018061001,
      "has_member_photo": true
    }
  ],
  "type": "Family",
  "name": "Doe, John",
  "status": "Active"
}

Get Unit Billing Methods

/v3/units/{unit_id}/billing_methods
Description

Gets stored billing methods for a unit. This includes all billing methods, even if they are expired (see the expired flag).

Path Parameters
unit_id
string

The ID of the unit

Query Parameters
include_available_system_credit_amount
boolean
optional

If true, the available_system_credit_amount property will be included in the response. This can be an expensive call, so only set to true when needed.

Default: false
Responses
HTTP 200 OK
billing_methods
array<object>
optional
id
string
optional

Billing method id to use in the checkout call

Example: BM34342533
raw_id
string
optional

Billing method id without prefix

Example: 34342533
method
string
optional

Type of billing method

Valid values: bank_account, credit_card
name
string
optional

Name of the billing method

Example: American Express
account_number_last_4_digits
string
optional

Last 4 digits of the account number

Example: 3344
display_name
string
optional

Display friendly name of the billing method

Example: American Express (ending in 0005, expires 5/2018)
expired
boolean
optional

Whether or not the payment method is expired. Will always be false for method of bank_account.

available_system_credit_amount
number
optional

If include_available_system_credit_amount is true, then this will be the total amount of system credit (including gift cards) that are available on the unit.

Example: 15.55
{
  "billing_methods": [
    {
      "id": "BM1955320",
      "method": "bank_account",
      "name": "EFT",
      "account_number_last_4_digits": "1111",
      "display_name": "Bank Account (ending in 1111)",
      "expired": false
    },
    {
      "id": "BM1955323",
      "method": "credit_card",
      "name": "VISA",
      "account_number_last_4_digits": "1111",
      "display_name": "VISA (ending in 1111, expires 5/2015)",
      "expired": true
    },
    {
      "id": "BM1965321",
      "method": "credit_card",
      "name": "MasterCard",
      "account_number_last_4_digits": "5100",
      "display_name": "MasterCard (ending in 5100, expires 1/2022)",
      "expired": false
    },
    {
      "id": "BM1985371",
      "method": "credit_card",
      "name": "Discover",
      "account_number_last_4_digits": "1117",
      "display_name": "Discover (ending in 1117, expires 5/2018)",
      "expired": false
    },
    {
      "id": "BM1985372",
      "method": "credit_card",
      "name": "American Express",
      "account_number_last_4_digits": "0005",
      "display_name": "American Express (ending in 0005, expires 5/2018)",
      "expired": false
    }
  ],
  "available_system_credit_amount": 10
}

Get unit donations

/v3/units/{unit_id}/donations
Description

Retrieves all the donations a unit has made to the organization.

Path Parameters
unit_id
string

The ID of the unit.

Example: 22342
Query Parameters
start_date
string
optional

The start date of the search.

Example: 03/03/2023
Default: Start of current year i.e. 01/01/2023
end_date
string
optional

The end date of the search.

Example: 09/03/2023
Default: Current date i.e. 08/21/2023
Responses
HTTP 200 OK
total
number<int32>
optional

The sum of the returned donations' pledge totals.

Example: 1
unit_pledge_total
number<decimal>
optional

The number of donations returned.

Example: 1550.5
start_date
string<datetime>
optional

The start date (UTC) of the search.

Example: 2020-01-01T00:00:00.0000000
end_date
string<datetime>
optional

The end date (UTC) of the search.

Example: 2020-09-21T00:00:00.0000000
donations
array<object>
optional

A summary of the donation

id
string<uuid>
optional

The ID of the donation.

Example: 7973941a-caa5-4b2d-a899-8440d2254b32
unit_id
string
optional

The ID of the unit who made the donation.

Example: 22342
member_id
string
optional

The ID of the member who made the donation.

Example: 22342-01
pledge_date
string<datetime>
optional

The date when the pledge was made.

Example: 2020-09-21T00:00:00.0000000
campaign
object
optional

A summary of the campaign to which the pledge was made.

code
string
optional

The code associated with the campaign.

Example: AC021
name
string
optional

The name of the campaign.

Example: For a better community.
pledge_total
number<double>
optional

The total amount pledged.

Example: 1550.5
amount_paid
number<double>
optional

The total amount contributed thus far.

Example: 1025.5
amount_unpaid
number<double>
optional

The total amount remaining to fulfill the pledge.

Example: 525.5
amount_written_off
number<double>
optional

The total amount that has been written off in the pledge.

Example: 0

Get unit donation history

/v3/units/{unit_id}/donation_history
Description

Retrieves a historical summary of a unit's donation history over the last six year.

Path Parameters
unit_id
string

The ID of the unit.

Example: 22342
Responses
HTTP 200 OK
payment_history
array<object>
optional

A summary of each year's contributions.

year
number<int32>
optional

The year the contributions were made.

Example: 2019
amount
number<float>
optional

The total amount contributed that year.

Example: 1352.99

Get unit dues

/v3/units/{unit_id}/dues
Description

Retrieves all the dues for a particular unit.

Path Parameters
unit_id
string

The ID of the unit.

Responses
HTTP 200 OK
due_setup_details
object
optional

The dues for the unit.

unit_id
string
optional

The ID of the unit.

Example: 300181503
unit_name
string
optional

The name of the unit.

Example: Unit Name
membership_type_id
number
optional

The ID of the membership type for the unit.

Example: 10131
membership_type
string
optional

The name of the membership type for the unit.

Example: Family membership
next_process_date
string
optional

The date in which billing processing will take place for the unit.

Example: 2020-09-01T00:00:00.0000000
billing_cycle_id
number
optional

The ID of the billing cycle.

Example: 2
billing_cycle_name
string
optional

The name of the billing cycle.

Example: Monthly
billing_method_id
number
optional

The ID of the billing method.

Example: 3
billing_method_name
string
optional

The name of the billing method.

Example: Invoice
draft_day
number
optional

The day of the month when the the draft is applied.

Example: 28
membership_end_date
string
optional

The end date of the unit's membership.

Example: 2020-10-01T00:00:00.0000000
discount_allowed
boolean
optional

Whether discounts are allowed for the unit.

Example: true
is_auto_renewable
boolean
optional

Whether the membership is auto-renewable.

Example: true
membership_term_id
number
optional

The membership term ID.

Example: 0
membership_term
string
optional

The membership term.

Example: Monthly
scheduled_payment_count
number
optional

The number of future, scheduled payments on the member's account.

Example: 0
unit_dues
object
optional

The details of unit dues.

total_monthly_dues_value
number<float>
optional

The total monthly due amount.

Example: 45.31
total_monthly_dues
string
optional

The string value for monthly dues.

Example: $45.31
dues
array<object>
optional

A list of all the unit dues.

fee_id
string
optional

The ID of the fee.

Example: F71481
fee_unit_id
number
optional

The ID of the fee for the unit.

Example: 4497304
fee_description
string
optional

The fee description.

Example: Full Rate
amount_value
number<float>
optional

The fee amount.

Example: 50.15
amount
string
optional

The string value for the amount.

Example: $50.15
tax_amount_value
number<float>
optional

The tax amount value.

Example: 0.16
tax_amount
string
optional

The string value of the tax amount.

Example: $0.16
can_be_removed
boolean
optional

Whether the due can be removed.

Example: false
is_membership_due
boolean
optional

Whether due is a membership due.

Example: true
adjustments
array<object>
optional

The adjustments for unit.

adjustment_amount_value
number<float>
optional

The adjustment amount.

Example: -5.15
adjustment_amount
string
optional

The string value for the adjustment amount.

Example: ($5.15)
tax_amount_value
number<float>
optional

The total taxes for the adjustment.

Example: 0.15
tax_amount
string
optional

The string value for the tax amount.

Example: $0.15
adjustment_description
string
optional

Details about the adjustment.

Example: Complimentary - Recurring
is_discount_group
boolean
optional

Whether the adjustment is a discount group.

Example: false
fee_unit_id
number
optional

The ID of the adjustment fee for the unit.

Example: 4537349
discount_type_id
number
optional

The ID of the discount type.

Example: 0
discount_type
string
optional

The discount type.

Example: Join Fee
approved
boolean
optional

The status of the adjustment.

Example: true
{
  "due_setup_details": {
    "unit_id": "300181503",
    "unit_name": "Unit Name",
    "membership_type_id": 10131,
    "membership_type": "Automation_50_Monthly",
    "next_process_date": "2018-02-01T00:00:00.0000000",
    "billing_cycle_id": 2,
    "billing_cycle_name": "Monthly",
    "billing_method_id": 3,
    "billing_method_name": "Invoice",
    "draft_day": 28,
    "membership_end_date": "2001-01-01T00:00:00.0000000",
    "discount_allowed": true,
    "is_auto_renewable": true,
    "membership_term_id": 0,
    "membership_term": "Monthly",
    "scheduled_payment_count": 0
  },
  "unit_dues": {
    "total_monthly_dues": "$45.31",
    "total_monthly_dues_value": 45.31,
    "dues": [
      {
        "fee_id": "F71481",
        "fee_unit_id": 4497304,
        "fee_description": "Full Rate",
        "amount_value": 50.15,
        "amount": "$50.15",
        "tax_amount_value": 0.16,
        "tax_amount": "$0.16",
        "can_be_removed": false,
        "is_membership_due": true,
        "adjustments": [
          {
            "adjustment_amount_value": -5.15,
            "adjustment_amount": "($5.15)",
            "tax_amount_value": 0.15,
            "tax_amount": "$0.15",
            "adjustment_description": "Complimentary - Recurring",
            "is_discount_group": false,
            "fee_unit_id": 4537349,
            "discount_type_id": 0,
            "discount_type": "Join Fee",
            "approved": true
          }
        ]
      }
    ]
  }
}

Get Unit Fees

/v3/units/{unit_id}/fees
Description

Retrieves the fee charged on the unit.

Path Parameters
unit_id
string

The ID of the unit.

Example: 300181503
Query Parameters
page_number
number
optional

The page number.

Example: 1
Default: 1
page_size
number
optional

The number of records to be fetched.

Example: 10
Default: 25
Responses
HTTP 200 OK
has_more_records
boolean
optional

Whether there are more records to be fetched on subsequent calls.

Example: false
total
number
optional

The total number of fees returned.

Example: 1
account_fees
array<object>
optional

The fees charged on the unit.

debit_id
number
optional

The debit ID of the fee.

Example: 12345678
fee_id
string
optional

The ID of the fee.

Example: f2afb945-2052-48b1-aa5b-f5f2a628e8cf
grouping_id
string
optional

The grouping ID.

Example: 300180566-01_0
member_id
string
optional

The ID of the member with whom the fee is associated. If the fee is not associated with any member then 0.

Example: 30018056-01
registration_id
integer
optional

The registration ID of the member for a program for which the fee is charged.

Example: 1234
child_care_registration_id
integer
optional

The registration ID of the meber for a child-care program for which the fee is charged.

Example: 4474635
date_charged
string
optional

The date on which the fee was charged, in MM/dd/YYYY format.

Example: 10/14/2020
description
string
optional

The description of the charged fee.

Example: 2009 Rate Increase - Family.
debit_amount
number<float>
optional

The amount of the fee.

Example: 5.15
total_tax
number<float>
optional

The total tax for the fee.

Example: 0.05
paid_discount_amount
number<float>
optional

The discount amount paid for the fee.

Example: 0.05
scheduled_amount
number<float>
optional

The scheduled amount for the fee.

Example: 0.05
due_date
string
optional

The due date of the fee in MM/dd/YYYY format.

Example: 10/14/2020
is_overdue
boolean
optional

Whether the payment is overdue for the fee.

Example: true
min_payment_amount
number<float>
optional

The minimum payment amount for the fee.

Example: 5.15
is_removable
boolean
optional

Whether the fee can be removed.

Example: true

Add charge to unit

/v3/units/{unit_id}/fees
Description

Adds a one-time fee to the unit.

Path Parameters
unit_id
string

The ID of the unit.

Example: 300181503
Request Body
branch_id
string

The ID of the branch of the unit.

Example: B38
fee_id
number

The ID of the fee.

Example: 1234
fee_quantity
number

The quantity of the specified fees that should be applied to the unit.

Example: 1
fee_price
number<float>

The amount to be applied.

Example: 10.01
fee_description
string
optional

The description of the fee.

Example: One time Fee
Responses
HTTP 201 Created

Delete charge from unit

/v3/units/{unit_id}/fees/{fee_id}
Description

Deletes a charge from a unit.

Path Parameters
unit_id
string

The ID of the unit.

Example: 300181503
fee_id
string

The ID of the fee to be removed.

Example: 77ae13b3-c645-4bca-bb01-d8855ecd879a
Responses
HTTP 204 No Content

List Relationship Sources

/v3/units/{unit_id}/relationships/sources
Description

Gets relationship information for members in a unit.

People in the sources list are people that would be at the root of the relationship. People in the children list are people that can be assigned to people in the sources list as related.

For example: if Robert is Susie's grandfather, Robert would be in the sources list and Susie would be in the children list. Once Susie is marked as related to Robert, the sources.person.relationships array for Robert would contain an entry for Susie's member_id and authorized_pickup would denote if Robert is allowed to pick up Susie from programs as an authorized pickup.

Path Parameters
unit_id
string

The ID of the unit

Responses
HTTP 200 OK
sources
array<object>
optional

List of people that can be the source/root of a relationship. If the sources.person.relationships is empty, then no relationships/authorized pickups have been established.

source_id
string
optional

Identifies this person for relationships API calls. You should not store this ID as it could change and is only intended to be used for the relationships API calls.

person
object
optional

Details about this person.

name
object
optional
first
string
optional

First name

last
string
optional

Last name

address
object
optional
line1
string
optional

Address line 1

line2
string
optional

Address line 2

city
string
optional

Address city/town

state
string
optional

Address state/region

zip
string
optional

Address zip code/postal code

country
string
optional

Address country code

phone
object
optional
number
string
optional

Phone number

Example: 555-123-1111
email
string
optional

Email address

birth_date
string
optional

Birth date in ISO format (YYYY-MM-DD)

relationships
array<object>
optional
member_id
string
optional

Child's member id.

relationship_type_id
string
optional

Relationship type of source to this child. For example, if Robert the source and Sue is the child, then the relationship type id would be REL110 (grandfather)

authorized_pickup
boolean
optional

Value should be true if the source is authorized to pick up this member_id.

children
array<object>
optional

List of people in the unit that can be attached as a relationship to a person in the sources array.

member_id
string
optional

Member ID of this person

name
object
optional
first
string
optional

First name

last
string
optional

Last name

birth_date
string
optional

Birth date in ISO format (YYYY-MM-DD)

{
  "sources": [
    {
      "source_id": "RELMEM6880034",
      "person": {
        "name": {
          "first": "Robert",
          "last": "Doe"
        },
        "address": {
          "line1": "8611 Greenway Rd.",
          "line2": "",
          "city": "Homewood",
          "state": "AL",
          "zip": "35209",
          "country": "US"
        },
        "phone": {
          "number": "(555) 555-5555"
        },
        "email": "johndoe@example.org",
        "birth_date": "1950-05-01",
        "relationships": [
          {
            "member_id": "12345-03",
            "relationship_type_id": "REL110",
            "authorized_pickup": true
          },
          {
            "member_id": "12345-04",
            "relationship_type_id": "REL110",
            "authorized_pickup": false
          }
        ]
      }
    }
  ],
  "children": [
    {
      "member_id": "12345-03",
      "name": {
        "first": "Billy",
        "last": "Doe"
      },
      "birth_date": "2005-08-21"
    },
    {
      "member_id": "12345-04",
      "name": {
        "first": "Susie",
        "last": "Doe"
      },
      "birth_date": "2014-03-20"
    }
  ]
}

Create Relationship Source

/v3/units/{unit_id}/relationships/sources
Description

Creates a new person that is not a member in the unit and assigns relationships/authorized pickups.

NOTE: this should be used to capture information about a person that is not a member of this unit. For example, if Robert is Susie's grandfather (but is not a member on the unit) and needs to be entered as Susie's authorized pickup, then you would create a relationship here. If you want to assign a relationships to existing adults in the unit, you should get a list of existing adults with the get-relationship sources endpoint and then update this person's relationships with the update-relationship sources endpoint

Path Parameters
unit_id
string

The ID of the unit

Request Body
person
object

Details about this person.

name
object
optional
first
string
optional

First name

last
string
optional

Last name

address
object
optional
line1
string
optional

Address line 1

line2
string
optional

Address line 2

city
string
optional

Address city/town

state
string
optional

Address state/region

zip
string
optional

Address zip code/postal code

country
string
optional

Address country code

phone
object
optional
number
string
optional

Phone number

Example: 555-123-1111
email
string
optional

Email address

birth_date
string
optional

Birth date in ISO format (YYYY-MM-DD)

relationships
array<object>
optional
member_id
string
optional

Child's member id.

relationship_type_id
string
optional

Relationship type of source to this child. For example, if Robert the source and Sue is the child, then the relationship type id would be REL110 (grandfather)

authorized_pickup
boolean
optional

Value should be true if the source is authorized to pick up this member_id.

Responses
HTTP 200 OK
success
boolean
optional

Value is true if the operation was successful.

HTTP 400 Bad Request
error_message
string
optional

Description of error_message

duplicate_source_id
string
optional

If attempting to create a duplicate source, then the source_id of the duplicate will be returned.

Update Relationship Source

/v3/units/{unit_id}/relationships/sources/{source_id}
Description

Updates a relationship source. Use source_id and child member_id from the get-relationship sources endpoint API call.

Path Parameters
unit_id
string

The ID of the unit

source_id
string

The source id of the person being updated.

Request Body
person
object

Details about this person.

name
object
optional
first
string
optional

First name

last
string
optional

Last name

address
object
optional
line1
string
optional

Address line 1

line2
string
optional

Address line 2

city
string
optional

Address city/town

state
string
optional

Address state/region

zip
string
optional

Address zip code/postal code

country
string
optional

Address country code

phone
object
optional
number
string
optional

Phone number

Example: 555-123-1111
email
string
optional

Email address

birth_date
string
optional

Birth date in ISO format (YYYY-MM-DD)

relationships
array<object>
optional
member_id
string
optional

Child's member id.

relationship_type_id
string
optional

Relationship type of source to this child. For example, if Robert the source and Sue is the child, then the relationship type id would be REL110 (grandfather)

authorized_pickup
boolean
optional

Value should be true if the source is authorized to pick up this member_id.

Responses
HTTP 200 OK
success
boolean
optional

Value is true if the operation was successful.

Delete Relationship Source

/v3/units/{unit_id}/relationships/sources/{source_id}
Description

Deletes all relationships for a source. If the source is NOT a member in the unit and was created via the create-relationship sources endpoint, then the source will be completely deleted. If the source is a member of the unit, then the source will still exist in the get-relationship sources endpoint API call but all relationships to children will be deleted.

Path Parameters
unit_id
string

The ID of the unit

source_id
string

The source id of the person.

Responses
HTTP 200 OK
success
boolean
optional

Value is true if the operation was successful.

List Relationship Types

/v3/units/relationships/types
Description

Gets relationship types.

Responses
HTTP 200 OK
relationship_types
array<object>
optional

List of relationship types

relationship_type_id
string
optional

ID for relationship type

description
string
optional

Human readable description of relationship type

{
  "relationship_types": [
    {
      "relationship_type_id": "REL10",
      "description": "Mother"
    },
    {
      "relationship_type_id": "REL20",
      "description": "Father"
    },
    {
      "relationship_type_id": "REL30",
      "description": "Sister"
    },
    {
      "relationship_type_id": "REL40",
      "description": "Brother"
    },
    {
      "relationship_type_id": "REL50",
      "description": "Aunt"
    },
    {
      "relationship_type_id": "REL60",
      "description": "Uncle"
    },
    {
      "relationship_type_id": "REL70",
      "description": "Niece"
    },
    {
      "relationship_type_id": "REL80",
      "description": "Nephew"
    },
    {
      "relationship_type_id": "REL90",
      "description": "Cousin"
    },
    {
      "relationship_type_id": "REL100",
      "description": "Grandmother"
    },
    {
      "relationship_type_id": "REL110",
      "description": "Grandfather"
    },
    {
      "relationship_type_id": "REL120",
      "description": "Stepsister"
    },
    {
      "relationship_type_id": "REL130",
      "description": "Stepbrother"
    },
    {
      "relationship_type_id": "REL140",
      "description": "Stepmother"
    },
    {
      "relationship_type_id": "REL150",
      "description": "Stepfather"
    },
    {
      "relationship_type_id": "REL160",
      "description": "Friend"
    },
    {
      "relationship_type_id": "REL170",
      "description": "Neighbor"
    },
    {
      "relationship_type_id": "REL180",
      "description": "Guardian"
    },
    {
      "relationship_type_id": "REL190",
      "description": "Teacher"
    }
  ]
}

Get Unit Transactions

/v3/units/{unit_id}/transactions
Description

Retrieves the transactions for the unit.

Path Parameters
unit_id
string

The ID of the unit.

Example: 90000059443
Query Parameters
category
string
optional

Optionally, whether to filter the query by the category of transaction. If not specified, it will default to all transactions.

Default: all_transactions
Valid values: all_transactions, fees, payments
start_date
string <date>
optional

The start date for the search date range. If not specified, it will default to 30 days ago.

Example: 2020-02-15
end_date
string <date>
optional

The end date for the search date range. If not specified, it will default to 30 days from the start date.

Example: 2020-02-26
page_number
number
optional

The page number of the response. If not included in the request, its default value will be 1.

Example: 1
page_size
number
optional

The number of transactions fetched per response, defaulting to 25.

Example: 20
Responses
HTTP 200 OK
total
number
optional

The total number of transactions fetched on this page of the response.

Example: 1
transactions
array<object>
optional

A list of transactions.

id
string
optional

The Credit/Debit/Payment ID of the transaction.

Example: 53363142
timestamp_utc
string<date-time>
optional

The timestamp (in UTC) when the transaction occurred.

Example: 2020-07-10T16:06:01.4770000
unit_id
string
optional

The ID of the unit for the transaction.

Example: 90000059443
description
string
optional

The description of the transaction.

Example: Super Cool After School Program — 5 days a week (12/29/14 - 06/01/15)
amount
string
optional

The amount for the transaction, including taxes, formatted as money.

Example: $750.00
amount_value
number<float>
optional

The amount for the transaction, including taxes, in decimal format.

Example: 750
transaction_type
string
optional

The type of transaction (e.g. credit or debit).

Example: Debit
category
string
optional

The type of credit or debit applied (e.g., Payment, Fees, Discount, Cancellation, etc.).

Example: Fees
total_tax
string
optional

The total taxes for the transaction, formatted as money.

Example: $0.00
total_tax_value
number<float>
optional

The total taxes for the transaction, in decimal format.

Example: 0
registration_details
object
optional
registration_id
string
optional

The registration ID of the program the transaction is related to (only available if the type of the program is Child Care).

Example: 4474636
type
string
optional

The type of program.

Example: Child Care
has_more_records
boolean
optional

Whether there are more records on the next page.

Example: false

Get Discount Groups Applied to Unit

/v3/units/{unit_id}/discount_groups
Description

Retrieves the discount groups applied to the unit.

Path Parameters
unit_id
string

The ID of the unit.

Example: 300181503
Responses
HTTP 200 OK
discount_groups
array<object>
optional

The discount groups applied to the unit.

id
string
optional

The ID of the discount group.

Example: DG2050
name
string
optional

The name of the discount group.

Example: YMCA Part-Time Employees
notice
string
optional

The notice of the discount group.

Example: Renews in June. Family Upgrades $27 upgrade fee as of 2009.
description
string
optional

The description of the discount group.

Example: The description of the discount group.
branch_id
string
optional

The ID of the branch.

Example: B38
branch_name
string
optional

The name of the branch.

Example: Downtown Branch
discount_amount
object
optional

The discount amount of the discount group.

join_fee_amount
number<float>
optional

The join-fee amount.

Example: 10.11
join_fee_discount
number<float>
optional

The join-fee discount.

Example: 0.05
join_fee_subsidy
number<float>
optional

The join-fee subsidy.

Example: 0.05
join_fee_net
number<float>
optional

The net join-fee.

Example: 10.01
membership_fee_amount
number<float>
optional

The membership-fee amount.

Example: 10.11
membership_fee_discount
number<float>
optional

The membership-fee discount.

Example: 0.05
membership_fee_subsidy
number<float>
optional

The membership-fee subsidy.

Example: 0.05
membership_fee_net
number<float>
optional

The net membership-fee.

Example: 10.01

Add Discount Group To Unit

/v3/units/{unit_id}/discount_groups
Description

Applies a discount group to a specific unit. Please note that this operation is asynchronous, so the applied discount group may not be reflected in the account for up to one minute.

Path Parameters
unit_id
string

The ID of the unit.

Example: 300181503
Request Body
discount_group_id
string

The ID of the discount group.

Example: DG1234
Responses
HTTP 202 Accepted

Get Unit Agreements

/v3/units/{unit_id}/agreements
Description

Retrieves all the signed waivers and agreements on record for the unit.

Path Parameters
unit_id
string

The ID of the unit.

Example: 90000059443
Responses
HTTP 200 OK
total
number
optional

The total number of agreements for the unit.

Example: 1
agreements
array<object>
optional

A list of agreements for the unit.

id
string
optional

The ID of the agreement.

Example: AWP43
name
string
optional

The name of the agreement.

Example: Swimming liability waiver
type
string
optional

The type of agreement signed.

Example: Program
Valid values: Program, Childcare, Membership
unit_id
string
optional

The ID of the unit to which this agreement belongs to.

Example: 90000059443
member_id
string
optional

The ID of the member to which this agreement belongs to.

Example: 90000059443-02
member_name
string
optional

The name of the member to which this agreement belongs to.

Example: Doe, Smith
signature_type
string
optional

How the agreement was signed.

Example: Typed name
Valid values: Typed Name, Signature, Staff Override
date_accepted
string<datetime>
optional

When the agreement was accepted.

Example: 2020-09-07T00:00:00Z

Get Unit Agreement Details

/v3/units/{unit_id}/agreements/{agreement_id}
Description

Retrieves all the signed waivers and agreements on record for the unit.

Path Parameters
unit_id
string

The ID of the unit.

Example: 90000059443
agreement_id
string

The ID of the agreement.

Example: AWC42
Responses
HTTP 200 OK
id
string
optional

The ID of the agreement.

Example: AWP43
name
string
optional

The name of the agreement.

Example: Swimming liability waiver
type
string
optional

The type of agreement signed.

Example: Program
Valid values: Program, Childcare, Membership
unit_id
string
optional

The ID of the unit to which this agreement belongs to.

Example: 90000059443
member_id
string
optional

The ID of the member to which this agreement belongs to.

Example: 90000059443-02
member_name
string
optional

The name of the member to which this agreement belongs to.

Example: Doe, Smith
signature_type
string
optional

How the agreement was signed.

Example: Typed name
Valid values: Typed Name, Signature, Staff Override
date_accepted
string<datetime>
optional

When the agreement was accepted.

Example: 2020-09-07T00:00:00Z
body
string
optional

The content of the agreement.

Example: tl;dr;: — Just keep swimming! Long version: Legalese and vernacular about the perils of swim lessons et al, liability-indemnification clauses and other multi-syllabic jargon in both English and Latin.

Get Unit Past-Due Balances

/v3/units/{unit_id}/past_due_balances
Description

Retrieves the past-due balances of a unit.

Path Parameters
unit_id
string

The ID of the unit.

Example: 90000059443
Responses
HTTP 200 OK
total
number
optional

The total number of past-due balances of the unit.

Example: 1
past_due_balances
array<object>
optional

A list of past-due balances.

debit_id
number
optional

The debit ID of the fee.

Example: 53363142
fee_description
string
optional

The description of the fee.

Example: Membership Due (Feb.)
fee_amount
number<float>
optional

The amount of the fee.

Example: 83
remaining_amount
number<float>
optional

The remaining amount or balance of the fee.

Example: 83
due_date
string<date>
optional

The due date of the fee.

Example: 2013-02-01T00:00:00.0000000

Get Unit Schedule Payments

/v3/units/{unit_id}/schedule_payments
Description

Retrieves the scheduled payments of a unit.

Path Parameters
unit_id
string

The ID of the unit.

Example: 90000059443
Responses
HTTP 200 OK
total
number
optional

The total number of schedule payments of the unit.

Example: 1
schedule_payments
array<object>
optional

A list of schedule payments.

debit_id
number
optional

The debit ID of the fee.

Example: 52885059
payment_id
number
optional

The payment ID of the fee.

Example: 36684706
payment_schedule_id
number
optional

The payment schedule ID of the fee.

Example: 0
fee_description
string
optional

The description of the fee.

Example: Membership Due (Feb.)
fee_amount
number<float>
optional

The amount of the fee.

Example: 57
due_date
string<date>
optional

The due date of the fee.

Example: 2011-12-01T00:00:00.0000000
scheduled_amount
number<float>
optional

The scheduled amount of the fee.

Example: 57
scheduled_date
string<date>
optional

The scheduled date of the fee.

Example: 2011-12-28T00:00:00.0000000

Get Termination Reasons

/v3/units/termination_reasons
Description

Retrieves a list of reasons to choose from to terminate the membership of a unit.

Responses
HTTP 200 OK
total
number
optional

The total mumber of reasons.

Example: 7
termination_reasons
array<string>
optional

A list of reasons.

Example: ["Annual Invoice: Did not Renew","Bad debt","Credit card expiration","Deceased","Dissatisfied","Financial burden","Illness"]

Unit Membership Termination

/v3/units/{unit_id}/termination
Description

Terminates the membership of the unit with fee management.

Path Parameters
unit_id
string

The ID of the unit.

Example: 300181503
Request Body
termination_date
string<date>

When to terminate the membership of the unit (cannot be in past).

Example: 2021-09-25
termination_reason
string

The reason to terminate the membership. See Get Termination Reasons endpoint.

Example: Illness
description
string

Any additional notes to be provided while terminating.

Example: Terminated at South Hampton
write_off_past_due_balance_debit_ids
array<number>
optional

A list of debit IDs of past-due balances (associated with the unit) to be written-off. See Get Unit Past-Due Balances endpoint.

Example: [53052386,53052387,53052390]
remove_schedule_payment_debit_ids
array<number>
optional

A list of debit IDs of scheduled payments (associated with the unit) to be removed. See Get Unit Schedule Payments endpoint.

Example: [52885059,52885099]
Responses
HTTP 201 Created
HTTP 400 Bad Request
HTTP 500 Internal Server Error

Get Unit Balance

/v3/units/{unit_id}/balance
Description

Retrieves the current balance for a unit's account, along with its gift-card balance and any applicable credits.

Path Parameters
unit_id
string

The ID of the unit

Example: 0293423
Responses
HTTP 200 OK
total_balance
number<double>
optional

The total balance, after all credits and unfulfilled pledges have been applied.

Example: 30.55
balance_due
number<double>
optional

The amount the unit owes on its account.

Example: 20
unfulfilled_pledges
number<double>
optional

The amount the unit has pledged to the association but has yet to pay.

Example: 10.55
unapproved_refunds
number<double>
optional

The amount the unit is to receive from the association in credits but has not received yet.

Example: 0
system_credits
number<double>
optional

The amount the unit's account has been credited by the system.

Example: 0
extra_payments
number<double>
optional

The amount that the unit has paid above its standard fees.

Example: 0
gift_card_balance
number<double>
optional

The total amount the unit has in gift cards.

Example: 0

Get Applied Discount Group

/v3/units/{unit_id}/discount_groups/{discount_group_id}
Description

Retrieves the details of the applied discount group.

Path Parameters
unit_id
string

The ID of the unit.

Example: 300181503
discount_group_id
string

The ID of the discount group.

Example: DG2050
Responses
HTTP 200 OK
id
string
optional

The ID of the discount group.

Example: DG2050
name
string
optional

The name of the discount group.

Example: YMCA Part-Time Employees
notice
string
optional

The notice of the discount group.

Example: Renews in June. Family Upgrades $27 upgrade fee as of 2009.
description
string
optional

The description of the discount group.

Example: The description of the discount group.
branch_id
string
optional

The ID of the branch.

Example: B38
branch_name
string
optional

The name of the branch.

Example: Downtown Branch
discount_amount
object
optional

The discount amount of the discount group.

join_fee_amount
number<float>
optional

The join-fee amount.

Example: 10.11
join_fee_discount
number<float>
optional

The join-fee discount.

Example: 0.05
join_fee_subsidy
number<float>
optional

The join-fee subsidy.

Example: 0.05
join_fee_net
number<float>
optional

The net join-fee.

Example: 10.01
membership_fee_amount
number<float>
optional

The membership-fee amount.

Example: 10.11
membership_fee_discount
number<float>
optional

The membership-fee discount.

Example: 0.05
membership_fee_subsidy
number<float>
optional

The membership-fee subsidy.

Example: 0.05
membership_fee_net
number<float>
optional

The net membership-fee.

Example: 10.01
is_active
boolean
optional

Whether the discount group is active.

Example: true
is_promotion
boolean
optional

Whether the discount group is from promotion.

Example: false
promotion_type_id
integer
optional

The ID of the promotion type.

Example: 2
Valid values: 0, 1, 2
promotion_type
string
optional

The type of the membership promotion.

Example: automatic
Valid values: none, code_generic, automatic
promo_code
string
optional

The promo code for the promotion.

Example: ABC
status
string
optional

The status of the discount group.

Example: completed
Valid values: draft, completed
apply_change_to_all_members
boolean
optional

Whether the discount is applied to all members of the unit.

Example: true
full_name
string
optional

The full name of the discount group.

Example: Discount Group Name (PromoCode)

Delete Applied Discount Group

/v3/units/{unit_id}/discount_groups/{discount_group_id}
Description

Removes a discount group from a unit.

Path Parameters
unit_id
string

The ID of the unit.

Example: 300181503
discount_group_id
string

The ID of the discount group.

Example: DG2050
Responses
HTTP 204 No Content

Get Draft Days

/v3/units/draft_days
Description

Retrieves a list of options of draft days for dues setup available in the system.

Responses
HTTP 200 OK
draft_days
array<number>
optional

A list of draft days available in the system.

Example: [15,28,30]

Get unit-billing-cycle options

/v3/units/{unit_id}/billing_cycles_options
Description

Retrieves a list of billing cycles available in the system, with each billing cycle having its own set of possible next process dates.

Path Parameters
unit_id
string

The ID of the unit.

Example: 90000059443
Responses
HTTP 200 OK
billing_cycles
array<object>
optional

A list of billing cycles.

id
number
optional

The ID of the billing cycle.

Example: 2
description
string
optional

The name of the billing cycle.

Example: Monthly
next_process_date_options
array<string>
optional

A list of possible new next process date for corresponding billing cycle.

Example: ["03-2025","04-2025","05-2025","06-2025","07-2025","08-2025","09-2025","10-2025","11-2025","12-2025","01-2026","02-2026","03-2026","04-2026","05-2026","06-2026","07-2026","08-2026"]

Update Unit Due Setup

/v3/units/{unit_id}/due_setup
Description

Updates the due setup of the unit. The fields which are not provided in the request body are not updated.

Path Parameters
unit_id
string

The ID of the unit.

Example: 90000059443
Request Body
billing_method_id
string
optional

The ID of the new billing method (prefixed with BM). You may use the get-unit-billing-methods endpoint to see a list of available billing methods for the unit.

Example: BM2055682
draft_day
number
optional

The new draft day. You may use the get-draft-days endpoint to see a list of available draft days.

Example: 15
billing_cycle_id
number
optional

The ID of the new billing cycle. You may use the get-unit-billing-cycles endpoint to see a list of available billing cycles.

Example: 2
is_auto_renewable
boolean
optional

Whether to enable or disable the auto-renew status of the unit.

Example: true
Responses
HTTP 204 No Content

Update Unit Next Process Date

/v3/units/{unit_id}/next_process_date
Description

Updates the next process date of the unit.

Path Parameters
unit_id
string

The ID of the unit.

Example: 90000059443
Request Body
next_process_date
string<mm-yyyy>
optional

The new next process date in mm-yyyy format. You may use the get-unit-billing-cycles endpoint to see options for new next process dates.

Example: 03-2021
Responses
HTTP 204 No Content

Update Unit Termination Date

/v3/units/{unit_id}/termination_date
Description

Updates the termination date of the unit.

Path Parameters
unit_id
string

The ID of the unit.

Example: 90000059443
Request Body
termination_date
string<mm-yyyy>
optional

The new termination date in mm-yyyy format. You may use the get-unit-billing-cycles endpoint to see options for new termination dates.

Example: 03-2021
Responses
HTTP 204 No Content

Get Unit Appointments

/v3/units/{unit_id}/appointments
Description

Retrieves the appointments for a particular unit.

Path Parameters
unit_id
string

The ID of the unit.

Example: 4723647872
Query Parameters
start_date
string <datetime>

The start date from when the appointments should be fetched.

Example: 2021-01-31
end_date
string <datetime>
optional

The end date till when the appointments should be fetched. If not provided, this will default to 1 year from the start date.

Example: 2022-01-31
member_id
string
optional

The member ID to filter the appointments for a particular member.

Example: 4723647872-01
location_id
string
optional

The location ID to filter the appointments for a particular branch or a site.

Example: B123
appointment_type
string
optional

The type to filter the results for a particular type of appointment.

Example: area
Valid values: service, instructor, area
registration_type
string
optional

The type to filter the results for online or in-house.

Default: in_house
Example: online
Valid values: in_house, online
Responses
HTTP 200 OK
total
number
optional

The total number of appointments returned.

Example: 1
appointments
array<object>
optional

The appointments booked in the unit.

appointment_id
number
optional

The ID of the appointment.

Example: 1
appointment_registration_id
number
optional

The ID of the Area Rental. Appointments with the same appointment_registration_id represents a single Area Rental across multiple areas.

Example: 10151
title
string
optional

The title of the appointment.

Example: Branch Visit
duration
number
optional

The duration of appointment in minutes.

Example: 120
start_date_time
string
optional

The start date and time of the appointment.

Example: 2021-02-20T12:00:00.0000000
end_date_time
string
optional

The end date and time of the appointment.

Example: 2021-02-20T14:00:00.0000000
booking_date_time
string
optional

The date and time when the appointment was booked.

Example: 2021-01-31T10:57:04.3330000
appointment_date
string
optional

The date for when the appointment was booked.

Example: 2021-02-20T00:00:00.0000000
location_id
string
optional

The ID of the location for which the appointment was booked.

Example: S123
location_name
string
optional

The name of the location for which the appointment was booked.

Example: Downtown Site
member_id
string
optional

The ID of the member for which the appointment was booked.

Example: 4723647872-02
member_name
string
optional

The name of the member for which the appointment was booked.

Example: John Doe
appointment_type
string
optional

The type of appointment.

Example: area
Valid values: service, instructor, area
area_id
string
optional

The ID of the area for which the appointment was booked. This will only be returned if the appointment corresponds to a scheduled-branch visit.

Example: A1
area_name
string
optional

The name of the area for which the appointment was booked. This will only be returned if the appointment corresponds to a scheduled-branch visit.

Example: ABC Area
total_package_count
number
optional

The total number of packages in the program. This will only be returned if the appointment corresponds to a package-program appointment.

Example: 10
total_booked
number
optional

The total number of appointments booked for the package program. This will only be returned if the appointment corresponds to a package-program appointment.

Example: 2
program_id
string
optional

The ID of the program for which the offering belongs. This will only be returned if the appointment corresponds to a package-program appointment.

Example: PP12345
offering_id
string
optional

The ID of the offering for which the appointment is booked. This will only be returned if the appointment corresponds to a package-program appointment.

Example: PKG9876
instructor_name
string
optional

The name of the instructor with whom the appointment is booked. This will only be returned if the appointment corresponds to a package-program appointment.

Example: John Smith
continue_booking_package
boolean
optional

Whether more appointments can be booked for the program. This will only be returned if the appointment corresponds to a package-program appointment.

Example: true
package_available
boolean
optional

Whether more packages are avaialable for booking. This will only be returned if the appointment corresponds to a package-program appointment.

Example: true

Cancel Appointment

/v3/units/{unit_id}/appointments/{appointment_id}/cancel
Description

Cancels an appointment for a particular unit.

Path Parameters
unit_id
string

The ID of the unit.

Example: 4723647872
appointment_id
number

The ID of the appointment to be deleted.

Example: 123
Request Body
send_email
boolean
optional

Whether to send an email after canceling the appointment.

Default: false
Example: true
cancel_overlapping
boolean
optional

Whether to cancel all the appointments overlapping with the current appointment.

Default: false
Example: true
override
boolean
optional

If set to true, the appointment will be deleted even if it is in the past.

Default: false
Example: true
Responses
HTTP 204 No Content

Tokens

The Tokens API allows developers to store sensitive information on Daxko servers and to retrieve that information in a PCI-compliant way.

Create payment token

/v3/payments/tokens
Description

Tokenizes a credit card or bank account. This endpoint should be used as a JSONP endpoint.

Query Parameters
jwt
string

Adding the Authorization: Bearer <jwt> header is not possible when using this endpoint as a JSONP call. Instead, you can use this parameter to pass in the same value, omitting the Bearer header prefix.

Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
callback
string
optional

The Javascript callback function that will be executed on return. If the callback parameter is set to cb, then response would be formatted like

cb({ 
  "payment_token":"3rapMp...",
  "last_four_digits":"1111"
})
payment_type
string

The type of payment account to tokenize. Additional fields in the body will vary depending on the type.

Valid values: bank_account, credit_card
bank_account
string
optional

The following fields are required to be specified as a JSV-formatted string when payment_type is bank_account:

  • account_holder_name
  • account_type
  • account_number
  • routing_number
Example: {account_holder_name:Jane%20Doe,account_type:checking,account_number:1231231231234,routing_number:123123123}
credit_card
string
optional

The following fields are required to be specified as a JSV-formatted string when payment_type is credit_card:

  • card_holder_name
  • number
  • exp_month
  • exp_year
  • address_line_1
  • address_zip
Example: {card_holder_name:John%20Doe, number:4111111111111111,...}
Responses
HTTP 201 Created
token
string
optional

The created payment token. This can be used as part of the checkout process.

Example: C3yY9phklLPFX8A4UlZrxzODzbbWhqVULfeBWOVQ1Ps
last_four_digits
string
optional

The last four digits of the account number that was tokenized. This can be used for user identification and verification that the proper payment method is being used.

Example: 1111

Comments